• 0
Sign in to follow this  
Followers 0
Vitaliy_Piterskiy

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

Question

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

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

Спойлер


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;


 

 

Edited by Cawfee

Share this post


Link to post

13 answers to this question

  • 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,"Изменить","Назад");
}

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

 

Share this post


Link to post
  • 0

загрузка LoadBildboards(), есть в OnGameModeInit() ?

Share this post


Link to post
  • 0

@danya_white нету

Share this post


Link to post
  • 0
1 минуту назад, Vitaliy_Piterskiy сказал:

@danya_white нету

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

Edited by danya_white

Share this post


Link to post
  • 0

@danya_white все заработало спасибо.

Share this post


Link to post
  • 0

@danya_white при выборе фона появилось вот это скриншот

Share this post


Link to post
  • 0
17 минут назад, Vitaliy_Piterskiy сказал:

@danya_white при выборе фона появилось вот это скриншот

Это уже в диалоге - "Цвет фона", нужно смотреть.

Share this post


Link to post
  • 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);
        }

 

Share this post


Link to post
  • 0
stock ShowPlayerEditMenu(playerid) покажи

Share this post


Link to post
  • 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,"Âûáðàòü","Çàêðûòü");
}

 

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 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"Вы действительно хотите разорвать договор с этим билбордом?","Да","Нет");
            }
        }

 

Share this post


Link to post
  • 0

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

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

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

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

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • MARIANO
      By MARIANO
      Приветствую всех, уважаемых знатаков. 
       
      Столкнулся не то что бы с проблемой, но все равно вопросов меньше от этого не становиться.
      В общем. В все работало хорошо, как надо. В один прекрасный момент, а именно после добавления команды /light (до этого было через кнопку, но даже если все возвращаю - происходит тоже самое.) для автомобиля - произошла странная магия.
       
      В ночное игровое время, фары стали включаться только при заведенном двигателе, а днем - не включаются вовсе.  В чем может выражаться такое?
       
      Кому интересно: Вот команда, в ней все тоже самое, что было через нажатие кнопки, хотя роли это и не играет. 
       
      СMD:light(playerid) {     if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid, color_white, "Необходимо быть за рулем автомобиля.");     new v = GetPlayerVehicleID(playerid);      if(!noeng(v)) // проверка на велосипеды и самолеты     {         if(!vehicle_info[v][v_light])         {             vehicle_info[v][v_light] = 1;             PlayerTextDrawColor(playerid, speed_PTD[playerid][2], 0x679fc7ff);             PlayerTextDrawHide(playerid, speed_PTD[playerid][2]);             PlayerTextDrawShow(playerid, speed_PTD[playerid][2]);         }         else         {             vehicle_info[v][v_light] = 0;             PlayerTextDrawColor(playerid, speed_PTD[playerid][2], 200);             PlayerTextDrawHide(playerid, speed_PTD[playerid][2]);             PlayerTextDrawShow(playerid, speed_PTD[playerid][2]);         }      SetVehicleParamsEx(v, vehicle_info[v][v_engine], vehicle_info[v][v_light], 0, vehicle_info[v][v_lock], vehicle_info[v][v_bonnet], vehicle_info[v][v_boot], 0);     }     return 1; }  
    • Roman_venum
      By Roman_venum
      Ошибки в консоле после подключения базы
       
    • Hero_Black228
      By Hero_Black228
      Здравствуйте, хотел бы задать вопрос. Я имею на руках мод Tape RP, и во время проверки автосалона, я покупал авто и оно после покупки появилось в ЛВ, когда автосалон был в ЛС. Так же и с лодками, покупаю и лодка появляется в автосалоне ЛС. Как мне это исправить?
    • Krabink
      By Krabink
      Скачал мод Arizona RP (как всегда с багами). Рация, семейный чат (команды /r, /rb, /f, /fb, /fam) выводится в чат лишь при наличии у аккаунта админки. Например, зайти с обычного аккаунта и написать /r 123, то в чат не выведет ничего, а если на аккаунте есть админка, то в чат выведется [R] Директор Krabink[0]: 123. Но вип-чат и чат департамента (/vr, /d) работают и без админки. Помогите решить данную проблему.

      Коды:
       
    • Telly_Hensen
      By Telly_Hensen
      Приветствую, я уже создавал тему "Как же добавить новые скины в игру", но мне так и не сказали как же их добавить, я только знаю что надо это делать через SAMP.ide, но я не понимаю как именно это сделать, прошу помочь пожалуйста.