Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 10 из 10
  1. #1
    Аватар для Camelot
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Адрес
    Ярославль
    Сообщений
    57
    Репутация:
    4 ±

    Сис-ма личного транспорта. (MySql)

    С БД всё в порядке.
    Проблема при создании 3D-текста к транспорту.
    При загрузке транспорта, прикрепляется 3D-TEXT не купленного транспорта. (не зависимо, куплен или не куплен)

    PHP код:
    const MAX_BUYCARS 3;
    enum cInfo veh,Owner[MAX_PLAYER_NAME],Model,Level,Price,Text3D:Text }
    new 
    carInfo[MAX_BUYCARS][cInfo], allCars;
    publicsBuyCarsLoad()
    {
        new 
    timewe GetTickCount();
        
    cache_get_data(rowsfields);
        if(!
    rows) return print("Error: Личный транспорт - Таблица пуста");
        for(new 
    carcar rowscar++)
        {
            
    getstr(car"Owner"carInfo[car][Owner], MAX_PLAYER_NAME);
            
    carInfo[car][Model] = getint(car"Model");
            
    carInfo[car][Level] = getint(car"Level");
            
    carInfo[car][Price] = getint(car"Price");
            
    carInfo[car][veh] = CreateVehicle(carInfo[car][Model], 0,0,0,01,10);
            static const
             
    fmt1[] = "«Стоимость: %d\n«Уровень: %d»\nID: %d",
             
    fmt2[] = "{ccff00}Владелец: {FFFFFF}%s\n{ccff00}ID: {FFFFFF}%d";
            new 
    msg[sizeof(fmt2) - MAX_PLAYER_NAME 4];
            if(!
    strcmp(carInfo[car][Owner], "No Name")) format(msgsizeof(msg), fmt1carInfo[car][Price], carInfo[car][Level], car);
            else 
    format(msgsizeof(msg), fmt2carInfo[car][Owner], car);
            
    carInfo[car][Text] = Create3DTextLabel(msg0xFF0000FF000.6150,1);
            
    Attach3DTextLabelToVehicle(carInfo[car][Text], carInfo[car][veh], 000.6);
            
    allCars++;
        }
        return 
    printf("Загружено личных машин: %i. Времени затрачено: (%i мс)",allCars,GetTickCount()-timewe);


  2. #2
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    PHP код:
    if(!strcmp(carInfo[car][Owner], "No Name"))
        
    format(msgsizeof(msg), fmt1carInfo[car][Price], carInfo[car][Level], car);
    else
    {
        
    format(msgsizeof(msg), fmt2carInfo[car][Owner], car);
        
    carInfo[car][Text] = Create3DTextLabel(msg0xFF0000FF000.6150,1);
        
    Attach3DTextLabelToVehicle(carInfo[car][Text], carInfo[car][veh], 000.6);

    Разберёшься что менять?

  3. #3
    Аватар для Camelot
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Адрес
    Ярославль
    Сообщений
    57
    Репутация:
    4 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    PHP код:
    if(!strcmp(carInfo[car][Owner], "No Name"))
        
    format(msgsizeof(msg), fmt1carInfo[car][Price], carInfo[car][Level], car);
    else
    {
        
    format(msgsizeof(msg), fmt2carInfo[car][Owner], car);
        
    carInfo[car][Text] = Create3DTextLabel(msg0xFF0000FF000.6150,1);
        
    Attach3DTextLabelToVehicle(carInfo[car][Text], carInfo[car][veh], 000.6);

    Разберёшься что менять?
    Я знаю что проблема в этих строках. По этому и обратился сюда.

  4. #4
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Цитата Сообщение от Camelot Посмотреть сообщение
    Я знаю что проблема в этих строках. По этому и обратился сюда.
    Я уже код готовый дал.

  5. #5
    Аватар для Camelot
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Адрес
    Ярославль
    Сообщений
    57
    Репутация:
    4 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    Я уже код готовый дал.
    Не работает.

  6. #6
    Аватар для Camelot
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Адрес
    Ярославль
    Сообщений
    57
    Репутация:
    4 ±
    Есть еще у кого какие предложения?

  7. #7
    Аватар для Camelot
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Адрес
    Ярославль
    Сообщений
    57
    Репутация:
    4 ±
    Сделал тест:
    PHP код:
    //Загрузка:
    getstr(car"Owner"carInfo[car][Owner], MAX_PLAYER_NAME);
    printf("Машина - %s",carInfo[car][Owner]);

    //В логе:
    [01:13:31Машина 
    [
    01:13:31Машина 
    [
    01:13:31Машина 
    [
    01:13:31Загружено личных машин3. Времени затрачено: (3 мс

  8. #8
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    PHP код:
    if(!strcmp(carInfo[car][Owner], "No Name") || !strlen(carInfo[car][Owner]))
        
    format(msgsizeof(msg), fmt1carInfo[car][Price], carInfo[car][Level], car);
    else
    {
        
    format(msgsizeof(msg), fmt2carInfo[car][Owner], car);
        
    carInfo[car][Text] = Create3DTextLabel(msg0xFF0000FF000.6150,1);
        
    Attach3DTextLabelToVehicle(carInfo[car][Text], carInfo[car][veh], 000.6);


  9. #9
    Аватар для Camelot
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Адрес
    Ярославль
    Сообщений
    57
    Репутация:
    4 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    PHP код:
    if(!strcmp(carInfo[car][Owner], "No Name") || !strlen(carInfo[car][Owner]))
        
    format(msgsizeof(msg), fmt1carInfo[car][Price], carInfo[car][Level], car);
    else
    {
        
    format(msgsizeof(msg), fmt2carInfo[car][Owner], car);
        
    carInfo[car][Text] = Create3DTextLabel(msg0xFF0000FF000.6150,1);
        
    Attach3DTextLabelToVehicle(carInfo[car][Text], carInfo[car][veh], 000.6);

    Здесь дело не в этом.
    Проблема в том, что при записи в "carInfo[car][Owner]" из "Owner" не записывается.
    P.S. Вставил Ваш код - 3D-TEXT перестали появляться.

    - - - Добавлено - - -

    Вот БД.

    PHP код:
    CREATE TABLE IF NOT EXISTS `Cars` (
      `
    Ownervarchar(20NOT NULL,
      `
    Modelint(3NOT NULL,
      `
    Levelint(6NOT NULL,
      `
    Priceint(8NOT NULL,
      `
    Clr1int(3NOT NULL,
      `
    Clr2int(3NOT NULL,
      `
    Xfloat NOT NULL,
      `
    Yfloat NOT NULL,
      `
    Zfloat NOT NULL,
      `
    Afloat NOT NULL,
      `
    Healfloat NOT NULL,
      `
    Dmg1int(12NOT NULL,
      `
    Dmg2int(12NOT NULL,
      `
    Dmg3int(12NOT NULL,
      `
    Dmg4int(12NOT NULL,
      `
    PJobint(1NOT NULL
    ENGINE=MyISAM DEFAULT CHARSET=utf8;

    --
    -- 
    Dumping data for table `Cars`
    --

    INSERT INTO `Cars` (`Owner`, `Model`, `Level`, `Price`, `Clr1`, `Clr2`, `X`, `Y`, `Z`, `A`, `Heal`, `Dmg1`, `Dmg2`, `Dmg3`, `Dmg4`, `PJob`) VALUES
    ('No Name'4114100451628.89, -1159.2423.896161.9159100000000),
    (
    'No Name'4383600271637.83, -1158.5123.8995272.257100000000),
    (
    'Camelot'5222300341645.29, -1158.7823.8984266.554100000000); 

  10. #10
    Аватар для Camelot
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Адрес
    Ярославль
    Сообщений
    57
    Репутация:
    4 ±
    Тему можно закрывать. Решил проблему.
    У меня MySql r34. Не хватало ID подключения - "cHandle"
    PHP код:
    getstr(car"Owner"carInfo[car][Owner], cHandleMAX_PLAYER_NAME); 
    Спасибо за старательную помощь. ;)

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •