• 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

    • Tookie Johnson
      By Tookie Johnson
      Здравствуйте. Когда игрок нажимает на паузу, АФК работает, а когда просто играет, то у него над головой висит таймер с 0 минутами и 1 секундой.
       
       
    • Tookie Johnson
      By Tookie Johnson
      Здравствуйте. Кто поделится системой сохранения денег на MySQL R39-6 и расскажет как пользоваться этими стоками и куда их надо вставлять? Просто я пишу мод с нуля. Дошёл до этой системы и стою на месте. Я буду очень благодарен вам за систему и поставлю плюсик. Смотрел видео по этому, читал на форумах, но мне эти системы так и не подошли.
    • sanya 352235
      By sanya 352235
      error 076: syntax error in the expression, or invalid function call
      падает на строку 
       if(vinil == e_vinils[eVinilID])
       

    • Tookie Johnson
      By Tookie Johnson
      Здравствуйте, команда форума и его пользователи. Перепробовал разные способы сохранения здоровья в базу данных, но они не подходят для меня. Буду благодарен, если кто-то поделится данной системой.
    • Tookie Johnson
      By Tookie Johnson
      Здравствуйте. Как сделать так, чтобы после регистрации человека на сервере в базу данных заносился регистрационный айпи адрес? У меня MySQL R39-6. Также айпи адрес с последнего входа.