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

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

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

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

Динамическая система домов.

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

Barni

Компетентный
Всем привет, вот решил вылажить свою динамическую систему домов..
Примечание* Удалите свою старую систему домов.
В начало мода заносим переменные для домов..
PHP:
new Float:GetPos[MAX_PLAYERS][3];//Äëÿ /gotoh and /tv
//===============================[Äîìà]=========================================
new HousesToLoad;// Переменная для подгрузки домов из stuff.ini
enum hInfo
{
	Float:hEntrancex,
	Float:hEntrancey,
	Float:hEntrancez,
	Float:hExitx,
	Float:hExity,
	Float:hExitz,
	hOwner[MAX_PLAYER_NAME],
	hValue,
	hHel,
	hInt,
	hLock,
	hOwned,
	hTakings,
	Text3D: hLabel,
	hPickup,
	hMIcon,
	hVirtual,
	hClass,
	hVec,
	hVecCol1,
	hVecCol2,
	hVehSost,
};
new HouseInfo[150][hInfo];
//==============================================================================
Далее
Сохранение и загрузка домов:
PHP:
//=================================[Dynamic system houses]======================
stock LoadHouses()//Çàãðóæàåò âñå äîìà
{
    new filename[128];
    print("Äîìà:");
    for(new id = 0; id < HousesToLoad; id++)
	{
		format(filename, sizeof(filename), "houses/ID%d.ini",id);
		new File: StuffFile = fopen(filename, io_read);
		if (StuffFile)
		{
		    new PassData[256];
		    new keytmp[256];
		    fread( StuffFile , PassData , sizeof( PassData ) );
		    keytmp = ini_GetKey( PassData );
		    new key[ 256 ] , val[ 256 ];
		    new Data[ 256 ];
		    while ( fread( StuffFile , Data , sizeof( Data ) ) )
			{
				key = ini_GetKey( Data );
				if( strcmp( key , "IgnoreThisLine" , true ) == 0 ) { val = ini_GetValue( Data );}//1
				if( strcmp( key , "EnterX" , true ) == 0 ) { val = ini_GetValue( Data );  HouseInfo[id][hEntrancex] = floatstr( val ); }
				if( strcmp( key , "EnterY" , true ) == 0 ) { val = ini_GetValue( Data );  HouseInfo[id][hEntrancey] = floatstr( val ); }
				if( strcmp( key , "EnterZ" , true ) == 0 ) { val = ini_GetValue( Data );  HouseInfo[id][hEntrancez] = floatstr( val ); }
 				if( strcmp( key , "ExitX" , true ) == 0 ) { val = ini_GetValue( Data );  HouseInfo[id][hExitx] = floatstr( val );}
				if( strcmp( key , "ExitY" , true ) == 0 ) { val = ini_GetValue( Data ); HouseInfo[id][hExity] = floatstr( val );}
				if( strcmp( key , "ExitZ" , true ) == 0 ) { val = ini_GetValue( Data ); HouseInfo[id][hExitz] = floatstr( val ); }
               	if( strcmp( key , "Owner" , true ) == 0 ) { val = ini_GetValue( Data ); strmid(HouseInfo[id][hOwner],val,0,strlen(val)-1,MAX_PLAYER_NAME); }
				if( strcmp( key , "Value" , true ) == 0 ) { val = ini_GetValue( Data ); HouseInfo[id][hValue] = strval( val ); }
				if( strcmp( key , "Hel" , true ) == 0 ) { val = ini_GetValue( Data ); HouseInfo[id][hHel] = strval( val ); }
				if( strcmp( key , "Int" , true ) == 0 ) { val = ini_GetValue( Data ); HouseInfo[id][hInt] = strval( val ); }
				if( strcmp( key , "Lock" , true ) == 0 ) { val = ini_GetValue( Data ); HouseInfo[id][hLock] = strval( val ); }
				if( strcmp( key , "Owned" , true ) == 0 ) { val = ini_GetValue( Data ); HouseInfo[id][hOwned] = strval( val ); }
				if( strcmp( key , "Takings" , true ) == 0 ) { val = ini_GetValue( Data ); HouseInfo[id][hTakings] = strval( val ); }
                if( strcmp( key , "Virtual" , true ) == 0 ) { val = ini_GetValue( Data ); HouseInfo[id][hVirtual] = strval( val ); }
				if( strcmp( key , "Class" , true ) == 0 ) { val = ini_GetValue( Data ); HouseInfo[id][hClass] = strval( val ); }
				if( strcmp( key , "Vec" , true ) == 0 ) { val = ini_GetValue( Data ); HouseInfo[id][hVec] = strval( val ); }
				if( strcmp( key , "VecCol1" , true ) == 0 ) { val = ini_GetValue( Data ); HouseInfo[id][hVecCol1] = strval( val ); }
				if( strcmp( key , "VecCol2" , true ) == 0 ) { val = ini_GetValue( Data ); HouseInfo[id][hVecCol2] = strval( val ); }
    			if( strcmp( key , "VehSost" , true ) == 0 ) { val = ini_GetValue( Data ); HouseInfo[id][hVehSost] = strval( val ); }
			 }
		 	new classhouse[32];
			if(HouseInfo[id][hClass]==0) classhouse = "Nope";
			else if(HouseInfo[id][hClass]==1) classhouse = "D";
			else if(HouseInfo[id][hClass]==2) classhouse = "C";
			else if(HouseInfo[id][hClass]==3) classhouse = "B";
			else if(HouseInfo[id][hClass]==4) classhouse = "A";
			if(HouseInfo[id][hOwned] == 0)
			{
        		HouseInfo[id][hMIcon] = CreateDynamicMapIcon(HouseInfo[id][hEntrancex], HouseInfo[id][hEntrancey], HouseInfo[id][hEntrancez], 31, COLOR_WHITE, 0, -1, -1, 400.0);
        		HouseInfo[id][hPickup] = CreateDynamicPickup(1273, 23, HouseInfo[id][hEntrancex], HouseInfo[id][hEntrancey], HouseInfo[id][hEntrancez],-1,-1,-1,70.0);
			}
			else if(HouseInfo[id][hOwned] == 1)
			{
				HouseInfo[id][hMIcon] = CreateDynamicMapIcon(HouseInfo[id][hEntrancex], HouseInfo[id][hEntrancey], HouseInfo[id][hEntrancez], 32, COLOR_WHITE, 0, -1, -1, 400.0);
				HouseInfo[id][hPickup] = CreateDynamicPickup(1272, 23, HouseInfo[id][hEntrancex], HouseInfo[id][hEntrancey], HouseInfo[id][hEntrancez],-1,-1,-1,70.0);
			}
			format(key,sizeof(key),"Êëàññ: %s, Âëàäåëåö: %s\nEnterX: %.4f EnterY: %.4f EnterZ: %.4f",HouseInfo[id][hClass],HouseInfo[id][hOwner],HouseInfo[id][hEntrancex],HouseInfo[id][hEntrancey],HouseInfo[id][hEntrancez]);
			print(key);
	        fclose(StuffFile);
		}
	}
	return true;
}
stock SaveHouse(houseid)
{
	new filename[128];
	if(houseid == -1)//Ñîõðàíèòü âñå äîìà
	{
		for(new id = 0; id < HousesToLoad; id++)
		{
			format(filename,sizeof(filename),"houses/ID%d.ini",id);
			new File: hFile = fopen(filename, io_write);
			if(hFile)
			{
				new var[32];
				format(var, 32, "IgnoreThisLine\n");fwrite(hFile, var);
				format(var, 32, "EnterX=%f\n", HouseInfo[id][hEntrancex]);fwrite(hFile, var);
				format(var, 32, "EnterY=%f\n", HouseInfo[id][hEntrancey]);fwrite(hFile, var);
				format(var, 32, "EnterZ=%f\n", HouseInfo[id][hEntrancez]);fwrite(hFile, var);
	  			format(var, 32, "ExitX=%f\n", HouseInfo[id][hExitx]);fwrite(hFile, var);
				format(var, 32, "ExitY=%f\n", HouseInfo[id][hExity]);fwrite(hFile, var);
				format(var, 32, "ExitZ=%f\n", HouseInfo[id][hExitz]);fwrite(hFile, var);
				format(var, 32, "Owner=%s\n", HouseInfo[id][hOwner]);fwrite(hFile, var);
				format(var, 32, "Value=%d\n", HouseInfo[id][hValue]);fwrite(hFile, var);
				format(var, 32, "Hel=%d\n", HouseInfo[id][hHel]);fwrite(hFile, var);
				format(var, 32, "Int=%d\n", HouseInfo[id][hInt]);fwrite(hFile, var);
				format(var, 32, "Lock=%d\n", HouseInfo[id][hLock]);fwrite(hFile, var);
				format(var, 32, "Owned=%d\n", HouseInfo[id][hOwned]);fwrite(hFile, var);
	 			format(var, 32, "Takings=%d\n", HouseInfo[id][hTakings]);fwrite(hFile, var);
				format(var, 32, "Virtual=%d\n", HouseInfo[id][hVirtual]);fwrite(hFile, var);
				format(var, 32, "Class=%d\n", HouseInfo[id][hClass]);fwrite(hFile, var);
				format(var, 32, "Vec=%d\n", HouseInfo[id][hVec]);fwrite(hFile, var);
				format(var, 32, "VecCol1=%d\n", HouseInfo[id][hVecCol1]);fwrite(hFile, var);
				format(var, 32, "VecCol2=%d\n", HouseInfo[id][hVecCol2]);fwrite(hFile, var);
				format(var, 32, "VehSost=%d", HouseInfo[id][hVehSost]);fwrite(hFile, var);
				fclose(hFile);
				UpdateHouse(id);
			}
		}
	}
	else
	{
     	format(filename,sizeof(filename),"houses/ID%d.ini",houseid);
		new File: hFile = fopen(filename, io_write);
		if(hFile)
		{
			new var[32];
			format(var, 32, "IgnoreThisLine\n");fwrite(hFile, var);
			format(var, 32, "EnterX=%f\n", HouseInfo[houseid][hEntrancex]);fwrite(hFile, var);
			format(var, 32, "EnterY=%f\n", HouseInfo[houseid][hEntrancey]);fwrite(hFile, var);
			format(var, 32, "EnterZ=%f\n", HouseInfo[houseid][hEntrancez]);fwrite(hFile, var);
			format(var, 32, "ExitX=%f\n", HouseInfo[houseid][hExitx]);fwrite(hFile, var);
			format(var, 32, "ExitY=%f\n", HouseInfo[houseid][hExity]);fwrite(hFile, var);
			format(var, 32, "ExitZ=%f\n", HouseInfo[houseid][hExitz]);fwrite(hFile, var);
			format(var, 32, "Owner=%s\n", HouseInfo[houseid][hOwner]);fwrite(hFile, var);
			format(var, 32, "Value=%d\n", HouseInfo[houseid][hValue]);fwrite(hFile, var);
			format(var, 32, "Hel=%d\n", HouseInfo[houseid][hHel]);fwrite(hFile, var);
			format(var, 32, "Int=%d\n", HouseInfo[houseid][hInt]);fwrite(hFile, var);
			format(var, 32, "Lock=%d\n", HouseInfo[houseid][hLock]);fwrite(hFile, var);
			format(var, 32, "Owned=%d\n", HouseInfo[houseid][hOwned]);fwrite(hFile, var);
			format(var, 32, "Takings=%d\n", HouseInfo[houseid][hTakings]);fwrite(hFile, var);
			format(var, 32, "Virtual=%d\n", HouseInfo[houseid][hVirtual]);fwrite(hFile, var);
			format(var, 32, "Class=%d\n", HouseInfo[houseid][hClass]);fwrite(hFile, var);
			format(var, 32, "Vec=%d\n", HouseInfo[houseid][hVec]);fwrite(hFile, var);
			format(var, 32, "VecCol1=%d\n", HouseInfo[houseid][hVecCol1]);fwrite(hFile, var);
			format(var, 32, "VecCol2=%d\n", HouseInfo[houseid][hVecCol2]);fwrite(hFile, var);
            format(var, 32, "VehSost=%d", HouseInfo[houseid][hVehSost]);fwrite(hFile, var);
			fclose(hFile);
			UpdateHouse(houseid);
		}
	}
	return true;
}
Функции:
PHP:
stock ini_GetKey( line[] )
{
	new keyRes[256];
	keyRes[0] = 0;
    if ( strfind( line , "=" , true ) == -1 ) return keyRes;
    strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
    return keyRes;
}

stock ini_GetValue( line[] )
{
	new valRes[256];
	valRes[0]=0;
	if ( strfind( line , "=" , true ) == -1 ) return valRes;
	strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
	return valRes;
}

stock UpdateHouse(idx)
{
	DestroyDynamicMapIcon(HouseInfo[idx][hMIcon]);
	DestroyDynamicPickup(HouseInfo[idx][hPickup]);
	if(HouseInfo[idx][hOwned] == 0)
	{
        HouseInfo[idx][hMIcon] = CreateDynamicMapIcon(HouseInfo[idx][hEntrancex], HouseInfo[idx][hEntrancey], HouseInfo[idx][hEntrancez], 31, COLOR_WHITE, 0, -1, -1, 400.0);
        HouseInfo[idx][hPickup] = CreateDynamicPickup(1273, 23, HouseInfo[idx][hEntrancex], HouseInfo[idx][hEntrancey], HouseInfo[idx][hEntrancez],-1,-1,-1,70);
	}
	else if(HouseInfo[idx][hOwned] == 1)
	{
		HouseInfo[idx][hMIcon] = CreateDynamicMapIcon(HouseInfo[idx][hEntrancex], HouseInfo[idx][hEntrancey], HouseInfo[idx][hEntrancez], 32, COLOR_WHITE, 0, -1, -1, 400.0);
        HouseInfo[idx][hPickup] = CreateDynamicPickup(1272, 23, HouseInfo[idx][hEntrancex], HouseInfo[idx][hEntrancey], HouseInfo[idx][hEntrancez],-1,-1,-1,70);
	}
}

stock GetHouseClass(houseclass)
{
	new classhouse[10];
	switch(houseclass)
	{
		case 0: classhouse = "Nope";
		case 1: classhouse = "D";
		case 2: classhouse = "C";
		case 3: classhouse = "B";
		case 4: classhouse = "A";
	}
	return classhouse;
}
В LoadStuff добовляем:
PHP:
iniGetInt(File,"Houses",HousesToLoad);
В SaveStuff добовляем:
PHP:
iniSetInt(File,"Houses",HousesToLoad);
Для обычной файловой системы в LoadStuff
PHP:
HousesToLoad = strval(arrCoords[2]);//2 это число по порядку загружаемых переменных..
В SaveStuff
PHP:
public SaveStuff()
{
	new coordsstring[256];
	format(coordsstring, sizeof(coordsstring), "%d,%d,%d", Jackpot,Security,HousesToLoad);
	new File: file2 = fopen("stuff.ini", io_write);
	fwrite(file2, coordsstring);
	fclose(file2);
	return 1;
}
Что типо этого:)
Ну теперь пилим саму команду, для этого вам понадобится инлкюды zcmd+sscanf Кому надо тот переведёт на strtok
PHP:
CMD:addhouse(playerid,params[])
{
    if(PlayerInfo[playerid][pAdmin] < 10) return true;
	if(HousesToLoad >= sizeof(HouseInfo)) return SendClientMessage(playerid,COLOR_GREY,"Новый дом не может быть создан: текущее кол-во домов превышает допустимое кол-во");
	new interior,price,classh,string[80];
	new Float:X,Float:Y,Float:Z;
 	if(sscanf(params,"ddd",interior,price,classh)) return SendClientMessage(playerid,COLOR_GREY,"Подсказка: /addhouse [интерьер] [цена] [Класс] 0 - Nope 1 - D 2 - C 3 - B 4 - A");
  	if(classh < 0 && 4 > classh) return SendClientMessage(playerid,COLOR_GREY,"Класс должен быть от 0 до 4");
   	switch(interior)
   	{
   	    case 0: X = 2468.3701, Y = -1698.1267, Z = 1013.5078, interior = 2;
   	    case 1: X = 2495.9368, Y = -1692.6628, Z =1014.7422, interior = 3;
   	    case 2: X = 2233.8728, Y = -1114.5892, Z = 1050.8828, interior = 5;
   	    case 3: X = 2196.2932,Y = -1204.2164,Z = 1049.0234, interior = 6;
   	    case 4: X = 2318.0532,Y = -1026.1620, Z = 1050.2109, interior = 9;
   	    case 5: X = 2259.8894,Y = -1135.5386, Z = 1050.6328, interior = 10;
   	    case 6: X = 2365.0913,Y = -1134.9622, Z = 1050.8750, interior = 8;
   	    case 7: X= 2283.4558, Y = -1139.5868, Z = 1050.8984, interior = 11;
		case 8: X = 2217.5801,Y = -1075.7186, Z = 1050.4844, interior = 1;
		case 9: X = 244.2633,Y = 305.1776,Z = 999.1484, interior = 1;
		case 10: X = 267.0089,Y = 304.9504,Z = 999.1484, interior = 2;
		case 11: X = 235.4259,Y = 1187.1754,Z = 1080.2578, interior = 3;
		case 12: X = 226.3336,Y = 1240.0363,Z = 1082.1406, interior = 2;
		case 13: X = 223.3103,Y = 1287.3929,Z = 1082.1406, interior = 1;
		case 14: X = 226.7142,Y = 1114.3087, Z = 1080.9951, interior = 5;
		case 15: X = 295.5774,Y = 1472.6558,Z = 1080.2578, interior = 15;
		case 16: X = 260.8918, Y = 1284.7347, Z = 1080.2578, interior = 4;
		case 17: X = 24.3465,Y = 1340.5371,Z = 1084.3750, interior = 10;
		case 18: X = -260.9048,Y = 1456.7821,Z = 1084.3672, interior = 4;
		case 19: X = 140.3034,Y = 1366.3802,Z = 1083.8594, interior = 5;
		case 20: X = -69.0937,Y = 1351.6519,Z = 1080.2109, interior = 6;
		case 21: X = -284.1492,Y = 1470.7615,Z = 1084.3750, interior = 15;
		case 22: X = -42.6183,Y = 1405.8876,Z = 1084.4297, interior = 8;
		case 23: X = 83.1937,Y = 1322.6996,Z = 1083.8662, interior = 9;
		case 24: X = 260.6850,Y = 1237.5959,Z = 1084.2578, interior = 9;
   	}
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    HouseInfo[HousesToLoad][hEntrancex] = x;
    HouseInfo[HousesToLoad][hEntrancey] = y;
    HouseInfo[HousesToLoad][hEntrancez] = z;
    HouseInfo[HousesToLoad][hExitx] = X;
    HouseInfo[HousesToLoad][hExity] = Y;
    HouseInfo[HousesToLoad][hExitz] = Z;
    HouseInfo[HousesToLoad][hValue] = price;
    HouseInfo[HousesToLoad][hInt] = interior;
    HouseInfo[HousesToLoad][hVirtual] = HousesToLoad;
    HouseInfo[HousesToLoad][hLock] = 1;
    HouseInfo[HousesToLoad][hOwned] = 0;
    HouseInfo[HousesToLoad][hClass] = classh;
    HouseInfo[HousesToLoad][hVec] = 462;
    HouseInfo[HousesToLoad][hVecCol1] = 1;
    HouseInfo[HousesToLoad][hVecCol2] = 1;
    strmid(HouseInfo[HousesToLoad][hOwner],"The State",0,strlen("The State"),32);
    new text[256];
	format(text,sizeof(text),"{FF6347}Дом{FFFFFF}\nАдрес: {7CFC00}%d{FFFFFF}\nКласс: {7CFC00}%s{FFFFFF}\nЦена: {7CFC00}$%d{FFFFFF}",HousesToLoad,GetHouseClass(classh),HouseInfo[HousesToLoad][hValue]);
	HouseInfo[HousesToLoad][hLabel] = Create3DTextLabel(text,0xFFFFFFFF,HouseInfo[HousesToLoad][hEntrancex],HouseInfo[HousesToLoad][hEntrancey],HouseInfo[HousesToLoad][hEntrancez]+1,20.0,0,1);
	HouseInfo[HousesToLoad][hMIcon] = CreateDynamicMapIcon(HouseInfo[HousesToLoad][hEntrancex], HouseInfo[HousesToLoad][hEntrancey], HouseInfo[HousesToLoad][hEntrancez], 31, COLOR_WHITE, 0, -1, -1, 400.0);
	HouseInfo[HousesToLoad][hPickup] = CreateDynamicPickup(1273, 23, HouseInfo[HousesToLoad][hEntrancex], HouseInfo[HousesToLoad][hEntrancey], HouseInfo[HousesToLoad][hEntrancez],-1,50);
 	SaveHouse(HousesToLoad);
 	HousesToLoad ++;
 	SaveStuff();
 	format(string,sizeof(string),"Дом успешно создан ID: [%d]: Интерьер: [%d] Цена: [$%i] Класс: [%s]",HousesToLoad,interior,price,GetHouseClass(classh));
	SendClientMessage(playerid,COLOR_WHITE,string);
	return true;
}
CMD:tph(playerid,params[])
{
    if(PlayerInfo[playerid][pAdmin] < 8) return true;
	if(sscanf(params,"d",params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Ââåäèòå: /tph [íîìåð äîìà]");
	SetPlayerPosAC(playerid,HouseInfo[params[0]][hEntrancex],HouseInfo[params[0]][hEntrancey],HouseInfo[params[0]][hEntrancez]);
	return true;
}
CMD:gotoh(playerid,params[])
{
    if(PlayerInfo[playerid][pAdmin] < 10) return true;
    if(sscanf(params,"d",params[0])) return SendClientMessage(playerid,COLOR_GREY,"/gotoh [1-33]");
    if(GetPlayerInterior(playerid)== 0) GetPlayerPos(playerid,GetPos[playerid][0],GetPos[playerid][1],GetPos[playerid][2]);
	new Float: X, Float: Y, Float: Z;
	new interior;
	switch(params[0])
	{
 		case 0: X = 2468.3701, Y = -1698.1267, Z = 1013.5078, interior = 2;
   	    case 1: X = 2495.9368, Y = -1692.6628, Z =1014.7422, interior = 3;
   	    case 2: X = 2233.8728, Y = -1114.5892, Z = 1050.8828, interior = 5;
   	    case 3: X = 2196.2932,Y = -1204.2164,Z = 1049.0234, interior = 6;
   	    case 4: X = 2318.0532,Y = -1026.1620, Z = 1050.2109, interior = 9;
   	    case 5: X = 2259.8894,Y = -1135.5386, Z = 1050.6328, interior = 10;
   	    case 6: X = 2365.0913,Y = -1134.9622, Z = 1050.8750, interior = 8;
   	    case 7: X= 2283.4558, Y = -1139.5868, Z = 1050.8984, interior = 11;
		case 8: X = 2217.5801,Y = -1075.7186, Z = 1050.4844, interior = 1;
		case 9: X = 244.2633,Y = 305.1776,Z = 999.1484, interior = 1;
		case 10: X = 267.0089,Y = 304.9504,Z = 999.1484, interior = 2;
		case 11: X = 235.4259,Y = 1187.1754,Z = 1080.2578, interior = 3;
		case 12: X = 226.3336,Y = 1240.0363,Z = 1082.1406, interior = 2;
		case 13: X = 223.3103,Y = 1287.3929,Z = 1082.1406, interior = 1;
		case 14: X = 226.7142,Y = 1114.3087, Z = 1080.9951, interior = 5;
		case 15: X = 295.5774,Y = 1472.6558,Z = 1080.2578, interior = 15;
		case 16: X = 260.8918,Y = 1284.7347,Z = 1080.2578, interior = 4;
		case 17: X = 24.3465,Y = 1340.5371,Z = 1084.3750, interior = 10;
		case 18: X = -260.9048,Y = 1456.7821,Z = 1084.3672, interior = 4;
		case 19: X = 140.3034,Y = 1366.3802,Z = 1083.8594, interior = 5;
		case 20: X = -69.0937,Y = 1351.6519,Z = 1080.2109, interior = 6;
		case 21: X = -284.1492,Y = 1470.7615,Z = 1084.3750, interior = 15;
		case 22: X = 83.1937,Y = 1322.6996,Z = 1083.8662, interior = 9;
		case 23: X = 260.6850,Y = 1237.5959,Z = 1084.2578, interior = 9;
		////////////////////////////NEW TP////////////////////////////////
		case 24: X = 2807.62,Y = -1170.15,Z = 1025.57, interior = 8;//Rifa house
		case 25: X = 2233.69,Y = -1112.81,Z = 1050.88, interior = 5; //new house
		case 26: X = 419.89,Y = 2537.11,Z = 10.00, interior = 10;//new house
		case 27: X = 2319.12,Y = -1023.95,Z = 1050.21, interior = 9;//new house
		case 28: X = 446.32,Y = 509.96,Z = 1001.41, interior = 12;//new house
		case 29: X = 224.28,Y = 1289.0,Z = 1082.13, interior = 1;//new house
		case 30: X = -42.52,Y = 1408.22,Z = 1084.42, interior = 8;//new house
		case 31: X = -68.51,Y = 1353.84,Z = 1080.21, interior = 6;//Ballas house
	}
	SetPlayerPos(playerid,X,Y,Z);
	SetPlayerInterior(playerid,interior);
	return true;
}
CMD:tplh(playerid,params[])
{
    if(PlayerInfo[playerid][pAdmin] < 8) return true;
    if(GetPos[playerid][0] != 0 && GetPos[playerid][1] != 0 && GetPos[playerid][2] != 0)
	{
 		SetPlayerInterior(playerid,0);
 		SetPlayerPosAC(playerid,GetPos[playerid][0],GetPos[playerid][1],GetPos[playerid][2]);
	}
	return true;
}
Это мы добавли команды для добовления дома, Передвартиельное тп и тп к тому месту от куда тпешились в предв. просмотр дома
Ну и тп по домам.. для тестирования..
Команду buyhouse sellhouse сделаете сами, т.к. система похожа на гфовскую..
Урок не для новичков!
Основа системы Crime Life Редактировал я Fresh_Light.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу