Question

Testerov
Новичок

Доброго времени суток. При покупке дома на колесах не обновляется 3d текст, но после перезапуска мода всё появляется на своих местах. Подскажите, пожалуйста, как это исправить?

Код с обновлением 3д текста:

Спойлер

stock UpdateVehiclevText(playerid, V_IDX, bool: create = false)
{
    if(create)
    { 
        if (VehicleInfo[V_IDX][vModel] == 508) 
        {
            if (VehicleInfo[V_IDX][vText] == Text3D:-1) 
            {
                t_string[0] = EOS;
                format(t_string, sizeof t_string, ""W"Тип: "GREEN"Стандарт\n"W"Владелец: "GREEN"%s\n"W"Дверь: %s", pInfo[playerid][pName], VehicleInfo[V_IDX][vLocked] == false ? (""GREEN"Открыта") : ("{FF0000}Закрыта"));
                VehicleInfo[V_IDX][vText] = CreateDynamic3DTextLabel(t_string, COLOR_WHITE, VehicleInfo[V_IDX][vPos][0], VehicleInfo[V_IDX][vPos][1], VehicleInfo[V_IDX][vPos][2], 7.6, INVALID_PLAYER_ID, VehicleInfo[V_IDX][vVehicle], 0,0, 0, -1); 
                AttachDynamic3DTextLabelToVeh(VehicleInfo[V_IDX][vText], VehicleInfo[V_IDX][vVehicle], 1.4, 0.2, 0.25), t_string[0] = EOS;
            }
        }
    }
    else 
    {
        if (VehicleInfo[V_IDX][vModel] == 508 && VehicleInfo[V_IDX][vText] != Text3D:-1) 
        {
            t_string[0] = EOS;
            format(t_string, sizeof t_string, ""W"Тип: "GREEN"Стандарт\n"W"Владелец: "GREEN"%s\n"W"Дверь: %s", pInfo[playerid][pName], VehicleInfo[V_IDX][vLocked] == false ? (""GREEN"Открыта") : ("{FF0000}Закрыта")); 
            UpdateDynamic3DTextLabelText(VehicleInfo[V_IDX][vText], COLOR_WHITE, t_string), t_string[0] = EOS;
        }
    }
    return 1;
}

Код покупки ДНК:
 

Спойлер

case BUSINESS_TYPE_CARAVAN: {
            if (BusinessInfo[id][bProducts] < amount) {
                SendClientMessage(playerid, -1, "Недостаточно продуктов в бизнесе!");
                return false;
            }
    
        /*    if (pInfo[playerid][pHouseID] != -1 || pInfo[playerid][pRentHouse] != -1) {
                SendClientMessage(playerid, COLOR_GREY, !"У Вас уже есть кварира/дом!");
                return false;
            }*/
            if (GetPlayerVehicleCount(playerid, TYPE_CARAVAN) == 1) {
                SendClientMessage(playerid, -1, !"У Вас уже есть дом на колесах");
                return false;
            }
            BusinessInfo[id][bProducts] -= amount;
            PayBusinessItem(playerid, id, itemid, amount, price); 

            new
                rSpawnSlot = random(7),
                SALON_SPAWN_ID = 0;
    
            if (!SALON_SPAWN_ID) SALON_SPAWN_ID = 0;
            new    new_vehicle_id = _CreateVehicle(508,
                TrailerShopReSpawn[SALON_SPAWN_ID][rSpawnSlot][0], TrailerShopReSpawn[SALON_SPAWN_ID][rSpawnSlot][1], TrailerShopReSpawn[SALON_SPAWN_ID][rSpawnSlot][2],
                TrailerShopReSpawn[SALON_SPAWN_ID][rSpawnSlot][3], 0, 0, -1);

            VehicleInfo[new_vehicle_id][vModel] = GetVehicleModel(new_vehicle_id); //,
            t_string[0] = EOS;
        
            mysql_format(dbHandle, t_string, sizeof (t_string), "\
                INSERT INTO `s_vehicle_player`(`vModel`,`vOwner`,`vColor`,`vPos`,`vBuyDate`,`vTypeCar`) VALUES \
                ('508','%d','0|0','%f|%f|%f|%f',NOW(),'3')",
                pInfo[playerid][pID],
                TrailerShopReSpawn[SALON_SPAWN_ID][rSpawnSlot][0],
                TrailerShopReSpawn[SALON_SPAWN_ID][rSpawnSlot][1],
                TrailerShopReSpawn[SALON_SPAWN_ID][rSpawnSlot][2],
                TrailerShopReSpawn[SALON_SPAWN_ID][rSpawnSlot][3]
            );
            mysql_tquery(dbHandle, t_string, "create_vehicle_callback", "d", new_vehicle_id), t_string[0] = EOS;

            VehicleInfo[new_vehicle_id][vType] = VEHICLE_TYPE_PLAYER;
            VehicleInfo[new_vehicle_id][vVehicle] = new_vehicle_id;
            format(VehicleInfo[new_vehicle_id][vNumber], 12, "None");
            VehicleInfo[new_vehicle_id][vPos][0] = TrailerShopReSpawn[SALON_SPAWN_ID][rSpawnSlot][0];
            VehicleInfo[new_vehicle_id][vPos][1] = TrailerShopReSpawn[SALON_SPAWN_ID][rSpawnSlot][1];
            VehicleInfo[new_vehicle_id][vPos][2] = TrailerShopReSpawn[SALON_SPAWN_ID][rSpawnSlot][2];
            VehicleInfo[new_vehicle_id][vPos][3] = TrailerShopReSpawn[SALON_SPAWN_ID][rSpawnSlot][3];
            VehicleInfo[new_vehicle_id][vColor][0] = 0;
            VehicleInfo[new_vehicle_id][vColor][1] = 0;
            VehicleInfo[new_vehicle_id][vFuel] = GetModelMaxFuel(VehicleInfo[new_vehicle_id][vModel]);
            VehicleInfo[new_vehicle_id][vMillage] = 0.0;
            VehicleInfo[new_vehicle_id][vFine] = 3;
            VehicleInfo[new_vehicle_id][vMoney] = 0;
            VehicleInfo[new_vehicle_id][vFillBag] = 0;
            VehicleInfo[new_vehicle_id][vRepair] = 0;
            VehicleInfo[new_vehicle_id][vDrugs] = 0;
            VehicleInfo[new_vehicle_id][vMaterials] = 0;
    
            for(new t = 0; t < 6; t++) 
            {
                VehicleInfo[new_vehicle_id][vBootGun][t] = 0;
                VehicleInfo[new_vehicle_id][vBootAmmo][t] = 0;
            }
            VehicleInfo[new_vehicle_id][vLocked] = true;
            GetVehicleParamsEx(new_vehicle_id, engine1, lights2, alarm2, doors3, bonnet2, boot1, objective1);
            SetVehicleParamsEx(new_vehicle_id, engine1, lights2, alarm2, true, bonnet2, boot1, objective1);

            VehicleInfo[new_vehicle_id][vFraction] = pInfo[playerid][pID]; 

            SetVehicleNumberPlate(VehicleInfo[new_vehicle_id][vVehicle], VehicleInfo[new_vehicle_id][vNumber]);
            Iter_Add(PlayerListVehicle[playerid], VehicleInfo[new_vehicle_id][vVehicle]);

            format(t_string, sizeof (t_string), "Вы успешно приобрели дом на колесах за "GREEN"$%i!",
                price
            );
            SendClientMessage(playerid, -1, t_string), t_string[0] = EOS;
            UpdateVehiclevText(playerid, new_vehicle_id, true);
            return true;
        }

 

Share this post


Link to post

1 answer to this question

  • 0
stm10.4
Новичок

Поменяй на свое, на это:

UpdateVehiclevText(playerid, VehicleInfo[new_vehicle_id][vVehicle], true);

 

Share this post


Link to post
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • ВасилийСталин
      By ВасилийСталин
      VERDICT PROJECT - V:ACE
       
      Соревновательный проект на платформе SA-MP, вдохновлённый духом Counter-Strike: тактические перестрелки, честный рейтинг и ванильное PVP.
      В разработке, не используются ресурсы, из открытых источников. Всё строится с нуля, собственный игровой мод, полностью кастомный интерфейс и игровой лаунчер.
      Что мы разрабатываем:
       
      - Рейтинговый режим с подбором по ELO. Равные соперники, честные матчи, путь от новичка до вершины таблицы.
      - Полностью кастомный интерфейс (CEF): меню, лобби, магазин и статистика такого уровня, какого на SA-MP почти не встретишь.
      - Легионеры - уникальные оперативники с индивидуальным дизайном и редкостью, открываются через боевой пропуск или чёрные ячейки (кейсы).
      - Скины на оружие и кейсы - коллекционная система в духе CS. -> В активной разработке
      - Киберспортивные команды: теги, ростеры, матчи команда против команды.
      - Тренировка аима, система рангов, ежедневные награды и не только.
       
      Продуманный баланс и внимание к деталям ванильного сражения - то, ради чего мы за это взялись.
      Проект уже на серьёзной стадии разработки. Мы открываем сообщество раньше официального анонса, чтобы первые скриншоты, новости и дата старта достались тем, кто был с нами с самого начала. Мы всегда рады открытой критике, или советам - сделаем игру лучше для всех!
      Подписывайтесь, чтобы не пропустить официальное заявление о запуске и первые материалы проекта.
       
      Группа VK: https://vk.ru/verdictcs
      Официальная почта: verdictproject@mail.ru
    • Kevin_McCarthy
      By Kevin_McCarthy
      🔒 ОТКРЫТИЕ НАБОРА НА ЗАКРЫТОЕ БЕТА-ТЕСТИРОВАНИЕ (ЗБТ)!
      Друзья! Мы выходим на самый ответственный этап разработки Brilliant RP. Проект уже практически готов к полноценному запуску, но перед тем как открыть двери для всех игроков, нам нужно тщательно проверить каждую систему, каждую работу и каждую строчку кода.
      Именно поэтому мы объявляем о старте Закрытого Бета-Тестирования!
      🏆 ТОП-3 ТЕСТЕРА ПОЛУЧАТ КРУТЫЕ ПРИЗЫ!
      Мы высоко ценим время и вклад каждого участника. Тестеры, которые проявят наибольшую активность, найдут больше всего уникальных багов и подробно опишут их в нашей Google-форме, получат ценные награды:
      🥇 1 МЕСТО: 3000 рублей на кошелек, 100.000$ игровой валюты, и Diamond VIP на 30 дней
      🥈 2 МЕСТО: 2000 рублей на кошелек, 75.000$ игровой валюты, и Diamond VIP на 30 дней
      🥉 3 МЕСТО: 1000 рублей на кошелек, 50.000$ игровой валюты, и Diamond VIP на 30 дней
      📝 Как стать участником ЗБТ?
      Заполни заявку на участие: 👉 https://vk.ru/gtasamp_brilliantrp
      Дождись одобрения.
    • OOLOAIS
      By OOLOAIS
      Ищу скрипт для самп/crmp который может скопировать акссесуары с аризоны/родины пж помогите