• 0
Vitaliy_Piterskiy

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

Вопросы

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

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

Спойлер


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

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

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


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

@danya_white нету

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


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

@danya_white нету

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

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

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


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

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

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


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

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

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


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

@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
stock ShowPlayerEditMenu(playerid) покажи

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


Ссылка на сообщение
  • 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 пользователей онлайн

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

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

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

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