Вопросы

Привествуйю, такая ситуация что я создаю проект, взял мод но там нету домов их нужно создать, создавал я дома через команду и в итоге всьо хорошо наченалось, но когда например купил дом №1 зашол в него и вышел то всьо хорошо, а когда ты например купил и зашол в дом №8 или в любой другой то выходиш ти через дом №1 я не знаю уже что искать в моде.Помогите

Вот нашол строки где именно диалог выхода из дома
 

        for(new h = 0; h < TotalHouses; h++)
        {
            if(PlayerToPoint(1.5, playerid, HOUSE_DATA[h][data_EXITX], HOUSE_DATA[h][data_EXITY], HOUSE_DATA[h][data_EXITZ]) && GetPlayerVirtualWorld(playerid) == HOUSE_DATA[h][data_ID])
            {
                SetPVarInt(playerid, "house", h);
                ShowPlayerDialogFix(playerid, dialog_EXIT_HOUSE, DIALOG_STYLE_MSGBOX, "{FFCC00}Дом""{FFFFFF}Вы желаете покинуть дом?""Выйти""Отмена");
                return true;
            }
        }

А вот уже сам диалог вихода
 

case dialog_EXIT_HOUSE:
        {
            if(!response) return true;
            if(response)
            {
                new h = GetPVarInt(playerid, "house");
                if(!PlayerToPoint(1.5, playerid, HOUSE_DATA[h][data_EXITX], HOUSE_DATA[h][data_EXITY], HOUSE_DATA[h][data_EXITZ])) return true;
                SetPlayerPosAC(playerid,HOUSE_DATA[h][data_ENTERX], HOUSE_DATA[h][data_ENTERY], HOUSE_DATA[h][data_ENTERZ]);
                SetPlayerInterior(playerid,0);
                SetPlayerVirtualWorld(playerid,0);
                
                FreezePlayer(playerid);
                SetTimerEx("UnfreezePlayer"4000false"d", playerid);
            }
        }

 

Поделиться сообщением


Ссылка на сообщение

3 ответа на этот вопрос

  • 0

@Nestor_Matroskin 

        case dialog_EXIT_HOUSE:
        {
            if(!response) return true;
            if(response)
            {
                new h = GetPVarInt(playerid, "house");
                if(!PlayerToPoint(1.5, playerid, HOUSE_DATA[h][data_EXITX], HOUSE_DATA[h][data_EXITY], HOUSE_DATA[h][data_EXITZ]) || \
                GetPlayerVirualWorld(playerid) != HOUSE_DATA[h][data_ID]) return true;
                SetPlayerPosAC(playerid,HOUSE_DATA[h][data_ENTERX], HOUSE_DATA[h][data_ENTERY], HOUSE_DATA[h][data_ENTERZ]);
                SetPlayerInterior(playerid,0);
                SetPlayerVirtualWorld(playerid,0);
                
                FreezePlayer(playerid);
                SetTimerEx("UnfreezePlayer"4000false"d", playerid);
            }
        }

 

Поделиться сообщением


Ссылка на сообщение
  • 0

В диалоге 

dialog_EXIT_HOUSE

При проверке координат выхода нет проверки на ВВ, вот в коде:

if(!PlayerToPoint(1.5, playerid, HOUSE_DATA[h][data_EXITX], HOUSE_DATA[h][data_EXITY], HOUSE_DATA[h][data_EXITZ])) return true;

// Как видим, проверка только на координаты, так же добавим и на Виртуальный Мир:
if(!PlayerToPoint(1.5, playerid, HOUSE_DATA[h][data_EXITX], HOUSE_DATA[h][data_EXITY], HOUSE_DATA[h][data_EXITZ]) || \
 GetPlayerVirtualWorld(playerid) != HOUSE_DATA[h][data_ID]) return true;
 // тут уже добавлена проверка на ВВ

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Sleash`en Вот нашол строки где именно диалог выхода из дома

        for(new h = 0; h < TotalHouses; h++)
        {
            if(PlayerToPoint(1.5, playerid, HOUSE_DATA[h][data_EXITX], HOUSE_DATA[h][data_EXITY], HOUSE_DATA[h][data_EXITZ]) && GetPlayerVirtualWorld(playerid) == HOUSE_DATA[h][data_ID])
            {
                SetPVarInt(playerid, "house", h);
                ShowPlayerDialogFix(playerid, dialog_EXIT_HOUSE, DIALOG_STYLE_MSGBOX, "{FFCC00}Дом""{FFFFFF}Вы желаете покинуть дом?""Выйти""Отмена");
                return true;
            }
        }

А вот уже сам диалог вихода
 

13 часов назад, Sleash`en сказал:

В диалоге 


dialog_EXIT_HOUSE

При проверке координат выхода нет проверки на ВВ, вот в коде:


if(!PlayerToPoint(1.5, playerid, HOUSE_DATA[h][data_EXITX], HOUSE_DATA[h][data_EXITY], HOUSE_DATA[h][data_EXITZ])) return true;

// Как видим, проверка только на координаты, так же добавим и на Виртуальный Мир:
if(!PlayerToPoint(1.5, playerid, HOUSE_DATA[h][data_EXITX], HOUSE_DATA[h][data_EXITY], HOUSE_DATA[h][data_EXITZ]) || \
 GetPlayerVirtualWorld(playerid) != HOUSE_DATA[h][data_ID]) return true;
 // тут уже добавлена проверка на ВВ

Извиняюсь но ето не помогло, получается когда другой класс или еще что-то тогда да но когда создать один класс всьоравно

 

 

вот диалог создание домов
 

        case dialog_ADD_HOUSE:
        {
            if(!response) return true;
            if(response)
            {
                SetPVarInt(playerid,"addhouse",1);
                new Float:X,Float:Y,Float:Z;
                GetPlayerPos(playerid, X,Y,Z);
                new veh = CreateVehicle(402, X,Y,Z, 0.011, -1);
                PutPlayerInVehicleAC(playerid, veh, 0);
                CAR_DATA[veh][data_ENG] = 0;
                SendClientMessage(playerid,-1"Сядьте в машину и введите /tpc для сохранения позиции автомобиля");
            }
        }
        case dialog_ADD_HOUSE_1:
        {
            if(!response) return SetPVarInt(playerid, "addhouse",0);
            if(response)
            {
                switch(listitem)
                {
                    case 0:
                    {
                        SetPVarFloat(playerid,"aExitX",242.0182);
                        SetPVarFloat(playerid,"aExitY",-137.7568);
                        SetPVarFloat(playerid,"aExitZ",998.9108);
                        SetPVarInt(playerid,"aInt",1);
                    }
                    case 1:
                    {
                        SetPVarFloat(playerid,"aExitX",2594.2136);
                        SetPVarFloat(playerid,"aExitY",-44.5393);
                        SetPVarFloat(playerid,"aExitZ",601.0859);
                        SetPVarInt(playerid,"aInt",2);
                    }
                }
                ShowPlayerDialogFix(playerid, dialog_ADD_HOUSE_2, DIALOG_STYLE_INPUT, "{FFCC00}Цена дома""{FFFFFF}От 10 000 рублей до 10 000 000 рублей""Добавить""Отмена");
            }
        }
                    
        case dialog_ADD_HOUSE_2:
        {
            if(!response) return SetPVarInt(playerid, "addhouse",0);
            if(response)
            {
                if(strval(inputtext) < 10000 || strval(inputtext) > 10000000return ShowPlayerDialogFix(playerid, dialog_ADD_HOUSE_3, DIALOG_STYLE_INPUT, "{FFCC00}Цена дома""{FFFFFF}От 10 000 рублей до 10 000 000 рублей""Добавить""Отмена");
                SetPVarInt(playerid,"aPrice",strval(inputtext));
                ShowPlayerDialogFix(playerid, dialog_ADD_HOUSE_3, DIALOG_STYLE_INPUT, "{FFCC00}Класс""{FFFFFF}Введите класс дома 0,1,2,3,4""Добавить""Отмена");
            }
        }
        case dialog_ADD_HOUSE_3:
        {
            if(!response) return true;
            if(response)
            {
                SetPVarInt(playerid,"aClass",strval(inputtext));
                AddHouse(playerid);
            }
        }

СТОК создания
 

stock AddHouse(playerid)
{
    new query[600];
    new h = TotalHouses;
    new Float:a1 = GetPVarFloat(playerid, "aEnterX");
    new Float:a2 = GetPVarFloat(playerid, "aEnterY");
    new Float:a3 = GetPVarFloat(playerid, "aEnterZ");
    new Float:a4 = GetPVarFloat(playerid, "aExitX");
    new Float:a5 = GetPVarFloat(playerid, "aExitY");
    new Float:a6 = GetPVarFloat(playerid, "aExitZ");
    new a7 = GetPVarInt(playerid, "aInt");
    new a8 = GetPVarInt(playerid, "aClass");
    new a9 = GetPVarInt(playerid, "aPrice");
    new Float:a10 = GetPVarFloat(playerid, "aCarX");
    new Float:a11 = GetPVarFloat(playerid, "aCarY");
    new Float:a12 = GetPVarFloat(playerid, "aCarZ");
    new Float:a13 = GetPVarFloat(playerid, "aCarAngle");
    SetPVarInt(playerid,"addhouse"0);
    SendClientMessage(playerid,-1"Дом добавлен");
    HOUSE_DATA[h][data_ENTERX] = a1;
    HOUSE_DATA[h][data_ENTERY] = a2;
    HOUSE_DATA[h][data_ENTERZ] = a3;
    HOUSE_DATA[h][data_EXITX] = a4;
    HOUSE_DATA[h][data_EXITY] = a5;
    HOUSE_DATA[h][data_EXITZ] = a6;
    HOUSE_DATA[h][data_INT] = a7;
    HOUSE_DATA[h][data_CLASS] = a8;
    HOUSE_DATA[h][data_PRICE] = a9;
    HOUSE_DATA[h][data_CARX] = a10;
    HOUSE_DATA[h][data_CARY] = a11;
    HOUSE_DATA[h][data_CARZ] = a12;
    HOUSE_DATA[h][data_CARANGLE] = a13;
    if(HOUSE_DATA[h][data_OWNED] == 0)
    {
        HOUSE_DATA[h][data_PICKUPENTER] = CreateDynamicPickup(127323, HOUSE_DATA[h][data_ENTERX], HOUSE_DATA[h][data_ENTERY], HOUSE_DATA[h][data_ENTERZ],-1);
        HOUSE_DATA[h][data_MAPICON] = CreateDynamicMapIcon(HOUSE_DATA[h][data_ENTERX], HOUSE_DATA[h][data_ENTERY], HOUSE_DATA[h][data_ENTERZ], 31, -10, -1, -1200.0);
    }
    else
    {
        HOUSE_DATA[h][data_PICKUPENTER] = CreateDynamicPickup(1913123, HOUSE_DATA[h][data_ENTERX], HOUSE_DATA[h][data_ENTERY], HOUSE_DATA[h][data_ENTERZ],0);
        HOUSE_DATA[h][data_MAPICON] = CreateDynamicMapIcon(HOUSE_DATA[h][data_ENTERX], HOUSE_DATA[h][data_ENTERY], HOUSE_DATA[h][data_ENTERZ], 32, -10, -1, -1200.0);
    }
    TotalHouses++;
    mysql_format(dbHandle,query, sizeof query, "INSERT INTO `houses` ( `enterx`, `entery`, `enterz`, `exitx`, `exity`, `exitz`, `carx`, `cary`, `carz`, `cara`, `int`, `class`, `price`) VALUES ( '%f', '%f', '%f', '%f', '%f', '%f', '%f', '%f', '%f', '%f', '%d', '%d', '%d')",a1,a2,a3,a4,a5,a6,a10,a11,a12,a13,a7,a8,a9);
    mysql_function_query(dbHandle, query, false"""");
    return true;
}

 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Aleksey98
      От Aleksey98
      Необходим человек: который сможет написать систему тюнинга!
      как на крупных проектах типа: Arizona и Radmir
      И еще требуется Мапперы на новый топовый проект!
      Связь : https://vk.com/id289498732
    • Mister Odin
      От Mister Odin
       
      new
       g_teleport_list[39][E_TELEPORT_LIST] = {  {"Спавн пгт.Батырево", 1802.3612, 2508.4824, 15.8887},  {"Спавн г.Арзамас", -113.5887, 977.7222, 12.0346},     {"Спавн г.Южный", 2744.2770, -2446.7246, 21.8988},     {"Центральный банк", 1852.020385,2040.791381,15.892713},  {"Рублёвка", -837.7783, 888.6161, 12.7232},  {"Казино", 1332.4252, 2358.7014, 17.6641},  {"Битва за контейнеры", 614.5167, 1722.3566, 12.0709},  {"Автосалон низкого класса", 2493.9616, -722.9544, 12.3315},  {"Автосалон среднего класса", 1407.7449, 455.4801, 13.1630},  {"Автосалон высокого класса", -14.0637, 2614.5664, 10.9892},   {"Мотосалон Harley Davidson", 785.720153, 750.465087, 12.000024},  {"Автошкола", 1909.174438,2227.679687,15.708162},  {"Военкомат", 1916.778564,2302.411376,15.574637},  {"Правительство области", -139.140975,593.789611,12.145712},  {"Отдел полиции №1 (ГИБДД)", 1906.805786,-2234.382812,11.257631},  {"Отдел полиции №2 (УМВД)", 2581.309326,-2416.139892,21.960090},  {"Отдел ФСБ", 1823.904663,2095.636718,15.848405},  {"Городская больница г.Арзамас", -285.797210,581.851562,12.120290},   {"СМИ", -317.708038,821.221679,13.051450},  {"Воинская часть", 1703.197265,1678.025878,15.279437},  {"Арзамасская ОПГ", 438.705322,1046.505126,12.002637},  {"Батыревская ОПГ", 1941.203857,2161.006591,15.705187},  {"Лыткаринская ОПГ", -2346.002441,75.257041,21.002962},  {"Шахта", 2381.5727, 1726.4451, -2.1506},  {"Завод", -1062.6697, 2204.1894, 38.0964},  {"Инкосация", 1864.1374, 2011.7136, 15.8546},  {"Транспортная Компания", 2362.1115, 1972.5627, 15.5530},  {"База механиков", 1840.918090,-118.025146,15.695312},  {"Курьерская служба доставки", 2764.509765,-2396.882568,21.890625},  {"Аренда автобуса(Южный)", 2771.041992,-2454.780761,21.845964},  {"Аренда автобуса(Арзамас)", -127.487670,943.652648,12.142824},   {"Аренда автобуса(Батырево)", 1798.986328,2529.591552,15.664262},  {"Гоночная трасса", -1568.7784, 1611.8305, 36.3971},  {"Дом на горе", -789.5397, -456.7479, 741.1422},  {"СТО и тюнинг-ателье", 1856.1375, -122.3266, 15.6888},  {"Аренда транспорта пгт.Батырево", 1763.641723,2255.673339,15.865348},  {"Аренда транспорта г.Арзамас", -36.923530,1360.673583,12.002090},  {"Аренда транспорта г.Южный", 1966.599975,-2603.943603,10.820312},  {"Тайный интерьер в Лыткарино", -2424.5818, 2846.3291, 40.7908} };