• 0

[закрыто] Система билбордов

Вопросы

Освоившийся

помогите решить проблему, я сделал Систему рекламы на билбордах, и билборды с базы данных не читает в моде все норм, в чем может быть проблема,

вот сток кода базы

Спойлер


stock LoadBildboards()
{
    new currenttime = GetTickCount();
    new Cache:result = mysql_query(mysql, "SELECT * FROM `Billboards`");
    TotalBildboards = cache_get_row_count(mysql);
    for(new idx = 0;idx < TotalBildboards; idx++)
    {
        BildInfo[idx][bModel] = cache_get_field_content_int(idx, "bModel", mysql);
        
        cache_get_field_content(idx, "bText", BildInfo[idx][bText],mysql,144);
        cache_get_field_content(idx, "bPosText", BildInfo[idx][bPosText],mysql,32);
        cache_get_field_content(idx, "bOwner", BildInfo[idx][bOwner],mysql,MAX_PLAYER_NAME);
        
        BildInfo[idx][bBackColor] = cache_get_field_content_int(idx, "bBackColor", mysql);
        BildInfo[idx][bFontFace] = cache_get_field_content_int(idx, "bFontFace", mysql);
        BildInfo[idx][bAligment] = cache_get_field_content_int(idx, "bAligment", mysql);
        BildInfo[idx][bFontSize] = cache_get_field_content_int(idx, "bFontSize", mysql);
        BildInfo[idx][bPos][0] = cache_get_field_content_float(idx, "PosX", mysql);
        BildInfo[idx][bPos][1] = cache_get_field_content_float(idx, "PosY", mysql);
        BildInfo[idx][bPos][2] = cache_get_field_content_float(idx, "PosZ", mysql);
        BildInfo[idx][bPos][3] = cache_get_field_content_float(idx, "PosA", mysql);
        BildInfo[idx][bDay] = cache_get_field_content_int(idx, "bDay", mysql);
        BildInfo[idx][bHours] = cache_get_field_content_int(idx, "bHours", mysql);
        
        BildInfo[idx][bObjectID] = CreateObject(BildInfo[idx][bModel], BildInfo[idx][bPos][0], BildInfo[idx][bPos][1], BildInfo[idx][bPos][2],
            0.000000000.00000000, BildInfo[idx][bPos][3], 300); // bObject
            
        UpdateBuildText(idx);
    }
    cache_delete(result, mysql);
    printf("LoadBildboards загрузился за %i ms", GetTickCount() - currenttime);
    return 1;
}
stock SaveBildboard(bildid)
{
    new string[1024];
    format(string, sizeof(string), "\
        UPDATE `Billboards` SET `bText` = '%s', `bOwner` = '%s', `bBackColor` = '%d', `bFontFace` = '%d', \
        `bAligment` = '%d', `bFontSize` = '%d', `bDay` = '%d', `bHours` = '%d' WHERE `id` = '%i'",
        BildInfo[bildid][bText],
        BildInfo[bildid][bOwner],
        BildInfo[bildid][bBackColor],
        BildInfo[bildid][bFontFace],
        BildInfo[bildid][bAligment],
        BildInfo[bildid][bFontSize],
        BildInfo[bildid][bDay],
        BildInfo[bildid][bHours],
        bildid);
    
    mysql_query(mysql, string, false);
    return true;


 

 

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

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


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

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

  • 0
Завсегдатый
case 1:
{
    new str[24], strs[1024];
    for(new i, z = sizeof(Colors_LOW); i<z; i++) format(str,24,"{%s}Фон\n",Colors_LOW[i]), strcat(strs, str);
    SPD(playerid,1183,DIALOG_STYLE_LIST,"{E5D81E}Цвет фона",strs,"Изменить","Назад");
}

Просто у вас одна глобальная переменная, а судя по всему, даже перед её редактированием её не "чистят", попробуйте так, как сделано выше.

 

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


Ссылка на сообщение
  • 0
Старожил
1 минуту назад, Vitaliy_Piterskiy сказал:

@danya_white нету

добавь, и проверь.

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

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


Ссылка на сообщение
  • 0
Освоившийся

@danya_white 

    case 1183:
        {
            if(!response) return ShowPlayerEditMenu(playerid);
            new p_var = GetPVarInt(playerid,"SelectBildID");
            BildInfo[p_var][bBackColor] = listitem;
            SendClientMessage(playerid,COLOR_LIME,"Öâåò ôîíà ðåêëàìíîãî áèëáîðäà óñïåøíî èçìåíåí");
            ShowPlayerEditMenu(playerid), UpdateBuildText(p_var);
            SaveBildboard(p_var);
        }

 

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


Ссылка на сообщение
  • 0
Освоившийся

@danya_white 

stock ShowPlayerEditMenu(playerid)
{
    new string[256] = "{33AA33}Ïàðàìåòð\t{33AA33}Çíà÷åíèå\n", str[64], p_var = GetPVarInt(playerid,"SelectBildID"), font_face[12], aligment_name[18];

    BildIntro(playerid, p_var, -13);

    switch(BildInfo[p_var][bFontFace])
    {
        case 0: font_face = "Arial";
        case 1: font_face = "Calibri";
        case 2: font_face = "Tahoma";
        case 3: font_face = "Verdana";
    }

    switch(BildInfo[p_var][bAligment])
    {
        case 0: aligment_name = "Ïî ëåâîìó êðàþ";
        case 1: aligment_name = "Ïî öåíòðó";
        case 2: aligment_name = "Ïî ïðàâîìó êðàþ";
    }

    strcat(string,"\nÒåêñò\t{BDB76B}Èçìåíèòü...");
    format(str,64,"\nÖâåò ôîíà\t{%s}Ôîí",Colors_LOW[BildInfo[p_var][bBackColor]]), strcat(string,str);
    format(str,64,"\nØðèôò òåêñòà\t%s",font_face), strcat(string,str);
    format(str,32,"\nÐàçìåð òåêñòà\t%i",BildInfo[p_var][bFontSize]), strcat(string,str);
    format(str,64,"\nÂûðàâíèâàíèå òåêñòà\t%s",aligment_name), strcat(string,str);
//  format(str,32,"\n[!] Èíôîðìàöèÿ î áàííåðàõ");
    strcat(string,"\nÀðåíäà {1A8FA9}àêòèâíà\t{EE4000}Ðàçîðâàòü äîãîâîð...");

    return SPD(playerid,1173,DIALOG_STYLE_TABLIST_HEADERS,"{E5D81E}Íàñòðîéêà ïàðàìåòðîâ ðåêëàìû.",string,"Âûáðàòü","Çàêðûòü");
}

 

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


Ссылка на сообщение
  • 0
Завсегдатый

Покажите пожалуйста 1173 диалог, и его скриншот (для нашего понимания)

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


Ссылка на сообщение
  • 0
Освоившийся

@Sleash`en 

    case 1173:
        {
            if(!response) return SetCameraBehindPlayer(playerid), f_TogglePlayerControllable(playerid, true), SetPlayerInterior(playerid, 1), true;
            switch(listitem)
            {
                case 0: SPD(playerid,1182,DIALOG_STYLE_INPUT,"{E5D81E}Редактирование текста",""W"Настоятельно рекомендуем прочитать {1A8FA9}помощь по размещению рекламы"W", которая находится слева от Вас\nВведите текст объявления в поле ниже","Изменить","Назад");
                case 1:
                {
                    new str[24];
                    for(new i, z = sizeof(Colors_LOW); i<z; i++) format(str,24,"{%s}Фон\n",Colors_LOW[i]), strcat(string, str);
                    SPD(playerid,1183,DIALOG_STYLE_LIST,"{E5D81E}Цвет фона",string,"Изменить","Назад");
                }
                case 2: SPD(playerid,1184,DIALOG_STYLE_LIST,"{E5D81E}Шрифт","Arial\nCalibri\nTahoma\nVerdana","Выбрать","Назад");
                case 3: SPD(playerid,1185,DIALOG_STYLE_INPUT,"{E5D81E}Размер текста",""W"Укажите размер текста (от 1 до 255)","Выбрать","Назад");
                case 4: SPD(playerid,1189,DIALOG_STYLE_LIST,"{E5D81E}Выравнивания текста","По левому краю\nПо центру\nПо правому краю","Выбрать","Назад");
                case 5: SPD(playerid,1187,DIALOG_STYLE_MSGBOX,"{E5D81E}Расторжение договора",""W"Вы действительно хотите разорвать договор с этим билбордом?","Да","Нет");
            }
        }

 

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


Ссылка на сообщение
  • 0
Освоившийся

@Sleash`en помогло спасибо.

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

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

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

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


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

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

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

    • От notrejoгr
      Буду очень признателен если кто то подскажет, как добавить винил в игру? Желательно, пошаговая инструкция

      Есть файлы, по типу
      model.txd
      model.dff
      model1.txd
       
    • От xDetik
      Приветствую.
      Сделал небольшой островок на некотором расстоянии от карты Сан-Андреса, хотел поставить там пикап, добавил пикап в мод, и после того как приехал на остров, пикап не видно. Но если на этом же пикапе поменять координаты на те, которые находятся на карте Сан-Андреса, то он становится виден. В чем может быть проблема?
    • От Daf
      Здравствуйте, знатоки Pawn. У меня возникла такая проблема, сейчас попробую расписать ее подробно:
      Я решил добавить в игру Real cars. Всё сделал правильно: подключил инклуд, знаю принцип добавление реал кара. Захожу в игру и вижу машину. Добавляю вторую — она тоже есть. Добавляю третью — снова всё нормально. Но когда я пытаюсь добавить четвёртую, игра крашится при входе.
      Не важно, какой ид авто я ставлю, менял модельки, переделал всё, но проблема остаётся. Думаю, вы сможете подсказать, как её решить.
      Include - m_custom_sync 1.0.0
      CreateVehicleVEx(npoType, npoId, modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay = 180, addsiren = 0, tc_veh = 0) {     new vehicle, custom_id = -1;     if(!(400 <= modelid <= 20000))     {         custom_id = GetSlotVehicleModelSync(modelid);         if(custom_id == -1) return print("daf top");         modelid = customVehModels[custom_id][ModelID];     } #include <m_custom-sync> #define M_CUSTOM_CustomForPlayers 1 #define M_CUSTOM_CustomForActors 1 #define M_CUSTOM_CustomForVehicles 1 public OnGameModeInit() {     AddVehicleSyncModel(560, 12500); // беха     AddVehicleSyncModel(560, 12600); // порш     AddVehicleSyncModel(579, 12700); // хамер     AddVehicleSyncModel(560, 19929); // чирик  
    • От DonK/Key
      Всем привет, помогите кто разбирается, так как я можно сказать начинающий сделать свой КРМП, буду благодарен. Напишите либо тут либо @evreI_sigma (Мой Telegram)
    • От Oki_Doki
      C:\Users\Àäìèíèñòðàòîð\Desktop\õç\gamemodes\russia.pwn(32) : fatal error 100: cannot read from file: "nex-ac"
       
      Compilation aborted.
       
      Pawn compiler 3.2.3664 Copyright (c) 1997-2016, ITB CompuPhase
       
       
      1 Error.
       
      Уже 20 мод я просто меняю название и фд,что делать??