Вопросы

Приветствую помогите пожалуйста сделать закрытие текст драйва на Esc, Я вроде сделал но всего лишь выходит игрок из автосалона а текст драйв не закрывается. Заранее спасибо. (Не судите строго я новичок)

 

Спойлер

    В public OnPlayerClickTextDraw(playerid, Text:clickedid) добавил

    if(clickedid == INVALID_TEXT_DRAW && pTemp[playerid][pSellCarSelect])
    {

            pTemp[playerid][pOff]++;
            pTemp[playerid][pSellCarSelect] = false;
            DeletePVar(playerid,"sellcarID");
            DeletePVar(playerid,"sellcarClass");
            TogglePlayerControllable(playerid,1);
            SetPlayerVirtualWorld(playerid,0);
            SetPlayerInterior(playerid,0);
            PlayerTextDrawDestroy(playerid,pTemp[playerid][pSellCarText]);
            SetCameraBehindPlayer(playerid);
            pTemp[playerid][pJustTP] = true;
            new carclass = GetPVarInt(playerid,"sellcarClass");
            SetPVarInt(playerid,"sellcarID",aSellCar[carclass]);
            pTemp[playerid][pSellCarSelect] = true;
            new model = GetVehicleModel(aSellCar[carclass]);
            new modelid = model - 400;
            new mes[256],fuelname[30];
            SelectTextDraw(playerid, 0xADD8E6FF);
            format(mes,sizeof(mes),"MODEL:     %s",gTransport[modelid][trName]);
            PlayerTextDrawSetString(playerid,PTD_autosalon[2],mes);
            format(mes,sizeof(mes),"MAX. FUEL:    %d L",gTransport[modelid][trTank]);
            PlayerTextDrawSetString(playerid,PTD_autosalon[4],mes);
            format(mes,sizeof(mes),"%d $",gTransport[modelid][trPrice]);
            PlayerTextDrawSetString(playerid,PTD_autosalon[6],mes);
            format(mes,sizeof(mes),"ENGINE:    Regular",fuelname);
            PlayerTextDrawSetString(playerid,PTD_autosalon[7],mes);
            format(mes,sizeof(mes),"CONS.:    %d l/100km",gTransport[modelid][trConsumption]);
            PlayerTextDrawSetString(playerid,PTD_autosalon[8],mes);
            for(new t = 0; t < 13; t++) PlayerTextDrawShow(playerid, PTD_autosalon[t]);
            SendClientMessage(playerid,CGRAY,"Вы вышли из автосалона");
            switch(carclass)
            {
            case 0: SetPlayerPos(playerid,555.3174,-1290.6477,17.2482);
            case 1: SetPlayerPos(playerid,-1955.4077,296.6946,35.4688);
            case 2: SetPlayerPos(playerid,1658.9636,2198.3733,10.8203);
            case 3: SetPlayerPos(playerid,2131.2488,-1149.5587,24.2475);
            }
    }

 

Спойлер


Вот сам TextDrive автосалона
case dBuyCarSalon:
        {
            if(!response) return 1;
            new carclass = GetPVarInt(playerid,"sellcarClass");
            SetPlayerVirtualWorld(playerid,carclass+1);
            TogglePlayerControllable(playerid,0);
            SetPlayerInterior(playerid,18);
            SetPlayerPos(playerid,210.93231423.08141417.0219);
            new Float:x, Float:y, Float:z;
            GetVehiclePos(aSellCar[carclass],x,y,z);
            SetPlayerCameraLookAt(playerid,x,y,z,1);
            //x -= 5.0;
            //y = y - 5.0;
            z = z + 1.0;
            SetPlayerCameraPos(playerid,212.0646,y,z);
            SetPVarInt(playerid,"sellcarID",aSellCar[carclass]);
            pTemp[playerid][pSellCarSelect] = true;
            SendClientMessage(playerid,CGREEN,"Äîáðî ïîæàëîâàòü â àâòîñàëîí. Èñïîëüçóéòå ïàíåëü äëÿ âûáîðà.");
            new model = GetVehicleModel(aSellCar[carclass]);
            new modelid = model - 400;
            new mes[256],fuelname[30];
            SelectTextDraw(playerid, 0xADD8E6FF);
            format(mes,sizeof(mes),"MODEL:     %s",gTransport[modelid][trName]);
            PlayerTextDrawSetString(playerid,PTD_autosalon[2],mes);
            format(mes,sizeof(mes),"MAX. FUEL:    %d L",gTransport[modelid][trTank]);
            PlayerTextDrawSetString(playerid,PTD_autosalon[4],mes);
            format(mes,sizeof(mes),"%d $",gTransport[modelid][trPrice]);
            PlayerTextDrawSetString(playerid,PTD_autosalon[6],mes);
            format(mes,sizeof(mes),"ENGINE:    Regular",fuelname);
            PlayerTextDrawSetString(playerid,PTD_autosalon[7],mes);
            format(mes,sizeof(mes),"CONS.:    %d l/100km",gTransport[modelid][trConsumption]);
            PlayerTextDrawSetString(playerid,PTD_autosalon[8],mes);
            for(new t = 0; t < 13; t++) PlayerTextDrawShow(playerid, PTD_autosalon[t]);
        }
        case dBuyCar:
        {
            if(!response) return 1;

            pTemp[playerid][pSellCarSelect] = false;
            new carclass = GetPVarInt(playerid,"sellcarClass");
            new carid = GetPVarInt(playerid,"sellcarID");
            new color1 = GetPVarInt(playerid,"pbuycarC1");
            new color2 = GetPVarInt(playerid,"pbuycarC2");
            DeletePVar(playerid,"sellcarID");
            DeletePVar(playerid,"sellcarClass");
            TogglePlayerControllable(playerid,1);
            SetPlayerVirtualWorld(playerid,0);
            SetPlayerInterior(playerid,0);
            PlayerTextDrawDestroy(playerid,pTemp[playerid][pSellCarText]);
            SetCameraBehindPlayer(playerid);
            pTemp[playerid][pJustTP] = true;
            switch(carclass)
            {
                case 0: SetPlayerPos(playerid,555.3174,-1290.6477,17.2482);
                case 1: SetPlayerPos(playerid,-1955.4077,296.6946,35.4688);
                case 2: SetPlayerPos(playerid,1658.9636,2198.3733,10.8203);
                case 3: SetPlayerPos(playerid,2131.2488,-1149.5587,24.2475);
            }
            if(!pData[playerid][pHouse])
            {
            SendClientMessage(playerid,CGRAY,"Ó Âàñ íåò äîìà"); //ïîêóïêà àâòî îòìåíà
            for(new t = 0; t < 13; t++) PlayerTextDrawHide(playerid, PTD_autosalon[t]);
            CancelSelectTextDraw(playerid);
            return true;
            }
            new model = GetVehicleModel(carid);
            new modelid = model - 400;
            new houseid = pData[playerid][pHouse]-1;
            new price = gTransport[modelid][trPrice];
            if(GetPlayerMoneyEx(playerid) < price) return SendClientMessage(playerid,CGRAY,"Ó âàñ íåäîñòàòî÷íî äåíåã");
            new query[256];
            format(query,sizeof(query),"INSERT INTO `cars` VALUES ('','%d','%d','GoodCar','%.0f','0.0','1000','%d','%d','0','0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0','-')",pData[playerid][pMysqlID],modelid,gTransport[modelid][trTank]+0.0,color1,color2);
            new Result:r = sql_query(snow, query);
            new id = sql_insert_id(r);
            sql_free_result(r);
            UpdatePlayerData(playerid,"car",id);
            new slot = -1;
            for(new i;i<MAX_VEHICLES;i++)
            {
                if(gCars[i][carOwnerid] == 0) {slot = i; break;}
            }
            if(slot == -1)
            {
                format(query,sizeof(query),"DELETE FROM `cars` WHERE `id` = '%d'",id);
                sql_query(snow, query);
                SendClientMessage(playerid,CRED,"Îøèáêà ñëîòà (#01)");
            }
            pData[playerid][pCar] = id;
            gCars[slot][carMysqlID] = id;
            gCars[slot][carOwnerid] = pData[playerid][pMysqlID];
            gCars[slot][carModelid] = modelid;
            gCars[slot][carFuel] = gTransport[modelid][trTank];
            gCars[slot][carDrived] = 0.0;
            gCars[slot][carHealth] = 1000.0;
            gCars[slot][carProbability] = 0;
            gCars[slot][carColor1] = color1;
            gCars[slot][carColor2] = color2;
            strcat(gCars[slot][carPlate],"GoodCar");
            if(houseid >= 0)
            {
                new vehicleid = CreateVehicle(gTransport[modelid][trModel],gHouses[houseid][houseParkX],gHouses[houseid][houseParkY],gHouses[houseid][houseParkZ],gHouses[houseid][houseParkR],gCars[slot][carColor1],gCars[slot][carColor2],-1);
                gCars[slot][carVid] = vehicleid;
                gVehicles[vehicleid-1][vLock] = 1;
                gVehicles[vehicleid-1][vFuel] = gCars[slot][carFuel];
                gVehicles[vehicleid-1][vDrived] = gCars[slot][carDrived];
                gVehicles[vehicleid-1][vHealth] = gCars[slot][carHealth];
                gVehicles[vehicleid-1][vOwnerid] = gCars[slot][carOwnerid];
                gVehicles[vehicleid-1][vX] = gHouses[houseid][houseParkX];
                gVehicles[vehicleid-1][vY] = gHouses[houseid][houseParkY];
                gVehicles[vehicleid-1][vZ] = gHouses[houseid][houseParkZ];
                gVehicles[vehicleid-1][vProbability] = 0;
            }
            for(new t = 0; t < 13; t++) PlayerTextDrawHide(playerid, PTD_autosalon[t]);
            pData[playerid][pMoney] -= price;
            SendClientMessage(playerid,CGREEN,"Ïîçäðàâëÿåì Âû êóïèëè ò/ñ. Îíî äîñòàâëåíî ê âàøåìó äîìó");
            CancelSelectTextDraw(playerid);
            new stringer[255];
            format(stringer, sizeof(stringer), "%s êóïèë àâòî ïî ãîñ öåíå â %d$ (Àâòî %d)",pData[playerid][pNickname],price,pData[playerid][pCar]);
            SendLog(stringer);
            pData[playerid][pCarnomera] = 0;
            UpdatePlayerData(playerid,"carnumber",0);
        }
        case dBuyCarC1:
        {
            if(!response) return 1;
            new color;
            switch(listitem)
            {
                case 0: color = 1;
                case 1: color = 0;
                case 2: color = 2;
                case 3: color = 3;
                case 4: color = 6;
                case 5: color = 103;
                case 6: color = 33;
                case 7: color = 126;
                case 8: color = 102;
                case 9: color = 85;
                defaultreturn ShowPlayerDialog(playerid,dBuyCarC1Edit,1,"Âûáîð öâåòà íîìåð 1","Ââåäèòå ID öâåòà íîìåð 1:","ÎÊ","Íàçàä");
            }
            SetPVarInt(playerid,"pbuycarC1",color);
            ShowPlayerDialog(playerid,dBuyCarC2,2,"Âûáåðèòå öâåò íîìåð 2","1.Áåëûé\n{505050}2.×åðíûé\n{"#cLIGHTBLUE"}3.Ãîëóáîé\n{"#cRED"}4.Êðàñíûé\n{"#cY"}5.Æåëòûé\n{0066FF}6. Ñèíèé\n{"#cGRAY"}7.Ñåðûé\n{"#cPINK"}8. ÐîçîÂûé\n{f5f5dc}9.ÁåæåÂûé\n{ff00ff}10.Ïóðïóðíûé\n{"#cW"}Äðóãîé...","OK","Âûõîä");
        }
        case dBuyCarC1Edit:
        {
            if(!response) return ShowPlayerDialog(playerid,dBuyCarC1,2,"Âûáåðèòå öâåò íîìåð 1","1.Áåëûé\n{505050}2.×åðíûé\n{"#cLIGHTBLUE"}3.Ãîëóáîé\n{"#cRED"}4.Êðàñíûé\n{"#cY"}5.Æåëòûé\n{0066FF}6. Ñèíèé\n{"#cGRAY"}7.Ñåðûé\n{"#cPINK"}8. ÐîçîÂûé\n{f5f5dc}9.ÁåæåÂûé\n{ff00ff}10.Ïóðïóðíûé\n{"#cW"}Äðóãîé...","OK","Âûõîä");
            if(!strval(inputtext) || !isNumeric(inputtext))
            {
                SendClientMessage(playerid,CGRAY,"Âû äîëæíû óêàçàòü ID öâåòà àâòî");
                return ShowPlayerDialog(playerid,dBuyCarC1Edit,1,"Âûáîð öâåòà íîìåð 1","Ââåäèòå ID öâåòà íîìåð 1:","ÎÊ","Íàçàä");
            }
            SetPVarInt(playerid,"pbuycarC1",strval(inputtext));
            ShowPlayerDialog(playerid,dBuyCarC2,2,"Âûáåðèòå öâåò íîìåð 2","1.Áåëûé\n{505050}2.×åðíûé\n{"#cLIGHTBLUE"}3.Ãîëóáîé\n{"#cRED"}4.Êðàñíûé\n{"#cY"}5.Æåëòûé\n{0066FF}6. Ñèíèé\n{"#cGRAY"}7.Ñåðûé\n{"#cPINK"}8. ÐîçîÂûé\n{f5f5dc}9.ÁåæåÂûé\n{ff00ff}10.Ïóðïóðíûé\n{"#cW"}Äðóãîé...","OK","Íàçàä");
        }
        case dBuyCarC2:
        {
            if(!response) ShowPlayerDialog(playerid,dBuyCarC1,2,"Âûáåðèòå öâåò íîìåð 1","1.Áåëûé\n{505050}2.×åðíûé\n{"#cLIGHTBLUE"}3.Ãîëóáîé\n{"#cRED"}4.Êðàñíûé\n{"#cY"}5.Æåëòûé\n{0066FF}6. Ñèíèé\n{"#cGRAY"}7.Ñåðûé\n{"#cPINK"}8. ÐîçîÂûé\n{f5f5dc}9.ÁåæåÂûé\n{ff00ff}10.Ïóðïóðíûé\n{"#cW"}Äðóãîé...","OK","Âûõîä");
            new color;
            switch(listitem)
            {
                case 0: color = 1;
                case 1: color = 0;
                case 2: color = 2;
                case 3: color = 3;
                case 4: color = 6;
                case 5: color = 103;
                case 6: color = 33;
                case 7: color = 126;
                case 8: color = 102;
                case 9: color = 85;
                defaultreturn ShowPlayerDialog(playerid,dBuyCarC2Edit,1,"Âûáîð öâåòà íîìåð 2","Ââåäèòå ID öâåòà íîìåð 2:","ÎÊ","Íàçàä");
            }
            SetPVarInt(playerid,"pbuycarC2",color);
            ShowPlayerDialog(playerid,dBuyCar,0,"Ïîêóïêà àâòî","Âû äåéñòâèòåëüíî õîòèòå êóïèòü ýòîò àâòîìîáèëü?","Äà","Íåò");
        }
        case dBuyCarC2Edit:
        {
            if(!response) return ShowPlayerDialog(playerid,dBuyCarC2,2,"Âûáåðèòå öâåò íîìåð 2","1.Áåëûé\n{505050}2.×åðíûé\n{"#cLIGHTBLUE"}3.Ãîëóáîé\n{"#cRED"}4.Êðàñíûé\n{"#cY"}5.Æåëòûé\n{0066FF}6. Ñèíèé\n{"#cGRAY"}7.Ñåðûé\n{"#cPINK"}8. ÐîçîÂûé\n{f5f5dc}9.ÁåæåÂûé\n{ff00ff}10.Ïóðïóðíûé\n{"#cW"}Äðóãîé...","OK","Íàçàä");
            if(!strval(inputtext) || !isNumeric(inputtext))
            {
                SendClientMessage(playerid,CGRAY,"Âû äîëæíû óêàçàòü ID öâåòà àâòî");
                return ShowPlayerDialog(playerid,dBuyCarC2Edit,1,"Âûáîð öâåòà íîìåð 2","Ââåäèòå ID öâåòà íîìåð 2:","ÎÊ","Íàçàä");
            }
            SetPVarInt(playerid,"pbuycarC2",strval(inputtext));
            ShowPlayerDialog(playerid,dBuyCar,0,"Ïîêóïêà àâòî","Âû äåéñòâèòåëüíî õîòèòå êóïèòü ýòîò àâòîìîáèëü?","Äà","Íåò");
        }


Снял проблему на видео - click

 

 

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


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

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

  • 0
public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid) 
{
    if(playertextid == PlayerText:INVALID_TEXT_DRAW && pTemp[playerid][pSellCarSelect])
    {
        // ваш код выше
        for(new t = 0; t < 13; t++) PlayerTextDrawHide(playerid, PTD_autosalon[t]);
        return 1;
    }
    return 1;
}

 

Отредактировано пользователем danya_white

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


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

up

Заметка от _bogdan_ , создано

3.6. Запрещено поднимать (апать) свою тему чаще, чем 1 раз в 24 часа. 

Устное предупреждение.

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


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

Не совсем понимаю для чего ты используешь паблик  OnPlayerClickTextDraw
В паблик  OnPlayerKeyStateChange добавь следующее

if(PRESSED(27)) //key esc
{
    for(new t = 0; t < 13; t++) PlayerTextDrawHide(playerid, PTD_autosalon[t]);
}

 

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


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

@user408337  а дальше что? добавил и толку 0. Не закрывается TD

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


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

@danya_white  Бро спасибо тебе огромное!!! ОГРОМНОЕ УВАЖЕНИЕ И БЛАГОДАРНОСТЬ ТЕБЕ. Только ты мне помог. Лови +

Заметка от _bogdan_ , создано

2.8. Если вы нашли ответ на свой вопрос, рекомендуется поощрить автора лучшего ответа поднятием репутации, а также обязательно пометить ответ на вопрос лучшим.  Как пометить ответ лучшим?

Устное предупреждение.

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


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

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

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

    • 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} };