Здравствуйте, сегодня я вам расскажу как сделать выход с дома у своего дома а не в конце карты
У меня была такая же проблема, когда выходишь с дома просто выходишь не у своего дома, тут заметил что у людей такая же проблема вот вам и урок такой
Прошу прощение если была тема, не нашел, а код нашел у себя на компе.
Ну приступим.
В конец enum hInfo добавляем :
В public SetPlayerSpawn находим следующее :
PHP код:
if(house !=255)
{
if(SpawnChange[playerid])
{
SetPlayerToTeamColor(playerid);
SetPlayerInterior(playerid,HouseInfo[house][hInt]);
SetPlayerPos(playerid, HouseInfo[house][hExitx], HouseInfo[house][hExity],HouseInfo[house][hExitz]);
PlayerInfo[playerid][pLocal] = house;
PlayerInfo[playerid][pInt] = HouseInfo[house][hInt];
return 1;
}
}
и после SetPlayerToTeamColor(playerid); вставляем :
PHP код:
SetPlayerVirtualWorld(playerid, HouseInfo[house][hWorld]);
В public LoadProperty находим :
PHP код:
new arrCoords[29][64];//Или что там у вас и добовляем +1 к первому числу
и 29 меняем на 30.
Далее после HouseInfo[idx][hLevel] = strval(arrCoords[28]); вставляем : или какое у вас там число за место 28 прибавляем + 1
PHP код:
HouseInfo[idx][hWorld] = strval(arrCoords[29]);
Теперь в public OnPropUpdate|OnPropUpdate_GF находим следующее :
PHP код:
format(coordsstring, sizeof(coordsstring), "%f,%f,%f,%f,%f,%f,%d,%d,%d,%d,%d,%d,%s,%s,%d,%d,% d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",
и перед \n" добавляем ,%d т.е. у вас должно получиться так :
PHP код:
format(coordsstring, sizeof(coordsstring), "%f,%f,%f,%f,%f,%f,%d,%d,%d,%d,%d,%d,%s,%s,%d,%d,% d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",
Далее спускаемся чуть ниже и заменяем это :
PHP код:
HouseInfo[idx][hLevel]);
на это :
PHP код:
HouseInfo[idx][hLevel],
и ниже добавляем :
PHP код:
HouseInfo[idx][hWorld]);
Далее находим команду "/buyhouse", а именно это :
PHP код:
if(GetPlayerMoney(playerid) > HouseInfo[h][hValue])
{
PlayerInfo[playerid][pPhousekey] = h;
HouseInfo[h][hOwned] = 1;
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255);
GivePlayerMoney(playerid,-HouseInfo[h][hValue]);
PlayerPlayMusic(playerid);
SetPlayerInterior(playerid,HouseInfo[h][hInt]);
SetPlayerPos(playerid,HouseInfo[h][hExitx],HouseInfo[h][hExity],HouseInfo[h][hExitz]);
и перед SetPlayerInterior(playerid,HouseInfo[h][hInt]); вставляем следующее :
PHP код:
SetPlayerVirtualWorld(playerid, HouseInfo[h][hWorld]);
Далее находим команду "/rentroom", а именно это :
PHP код:
if(GetPlayerMoney(playerid) > HouseInfo[h][hRent])
{
PlayerInfo[playerid][pPhousekey] = h;
GivePlayerMoney(playerid,-HouseInfo[h][hRent]);
HouseInfo[h][hTakings] = HouseInfo[h][hTakings]+HouseInfo[h][hRent];
PlayerPlayMusic(playerid);
SetPlayerInterior(playerid,HouseInfo[h][hInt]);
и перед SetPlayerInterior(playerid,HouseInfo[h][hInt]); вставляем следующее :
PHP код:
SetPlayerVirtualWorld(playerid,HouseInfo[h][hWorld]);
Теперь в команде "/house" находим :
PHP код:
new housenum = strval(tmp);
SetPlayerInterior(playerid,HouseInfo[housenum][hInt]);
SetPlayerPos(playerid,HouseInfo[housenum][hExitx],HouseInfo[housenum][hExity],HouseInfo[housenum][hExitz]);
и перед SetPlayerInterior(playerid,HouseInfo[housenum][hInt]); вставляем следующее :
PHP код:
SetPlayerVirtualWorld(playerid,HouseInfo[housenum][hWorld]);
Далее в команде "/enter" находим :
PHP код:
if(PlayerInfo[playerid][pPhousekey] == i || HouseInfo[i][hLock] == 0)
{
SetPlayerInterior(playerid,HouseInfo[i][hInt]);
SetPlayerPos(playerid,HouseInfo[i][hExitx],HouseInfo[i][hExity],HouseInfo[i][hExitz]);
и перед SetPlayerInterior(playerid,HouseInfo[i][hInt]); вставляем следующее :
PHP код:
SetPlayerVirtualWorld(playerid, HouseInfo[i][hWorld]);
Далее в команде "/exit" находим :
PHP код:
if (PlayerToPoint(3, playerid,HouseInfo[i][hExitx], HouseInfo[i][hExity], HouseInfo[i][hExitz]))
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,HouseInfo[i][hEntrancex],HouseInfo[i][hEntrancey],HouseInfo[i][hEntrancez]);
PlayerInfo[playerid][pInt] = 0;
PlayerInfo[playerid][pLocal] = 255;
и изменяем на это :
PHP код:
if (GetPlayerVirtualWorld(playerid) == HouseInfo[i][hWorld] && IsPlayerInRangeOfPoint(playerid,3.0,HouseInfo[i][hExitx], HouseInfo[i][hExity], HouseInfo[i][hExitz]))
{
SetPlayerVirtualWorld(playerid,0);
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,HouseInfo[i][hEntrancex],HouseInfo[i][hEntrancey],HouseInfo[i][hEntrancez]);
PlayerInfo[playerid][pInt] = 0;
PlayerInfo[playerid][pLocal] = 255;
Далее находим команду "/ram", а именно :
PHP код:
SetPlayerInterior(playerid,HouseInfo[i][hInt]);
SetPlayerPos(playerid,HouseInfo[i][hExitx],HouseInfo[i][hExity],HouseInfo[i][hExitz]);
и перед SetPlayerInterior(playerid,HouseInfo[i][hInt]); вставляем следующее :
PHP код:
SetPlayerVirtualWorld(playerid, HouseInfo[i][hWorld]);
Готово, мы сделали виртуальные миры для домов, теперь вы будете выходить у своего дома.
Думаю пригодится, т.к. мне пригодилось и я выходил в своём доме 
(с)Mtv777