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

    Статус
    Оффлайн
    Регистрация
    01.02.2014
    Адрес
    Татарстан
    Сообщений
    171
    Репутация:
    0 ±

    Вопрос криво сохраняет корды

    Привет не спит.
    Решил задать вопрос на тему системы мебели.
    Писал систему сам,а криво только сохраняет корды объекта.И загружаю уже Z выше и криво получается,потом по X,Y криво.
    Вот код:
    PHP код:
    publics LoadFurniture()
    {
        new 
    rowsfields;
        
    cache_get_data(rowsfields);
        if(
    rows)
        {
            for(new 
    irowsi++)
            {
                
    FInfo[i][f_ID] = cache_get_field_content_int(i"fID"MysqlConnect_ID);
                
    FInfo[i][f_model] = cache_get_field_content_int(i"fmodel"MysqlConnect_ID);
                
    FInfo[i][f_x] = cache_get_field_content_float(i"fx"MysqlConnect_ID);
                
    FInfo[i][f_y] = cache_get_field_content_float(i"fy"MysqlConnect_ID);
                
    FInfo[i][f_z] = cache_get_field_content_float(i"fz"MysqlConnect_ID);
                
    FInfo[i][f_rootx] = cache_get_field_content_float(i"frootx"MysqlConnect_ID);
                
    FInfo[i][f_rooty] = cache_get_field_content_float(i"frooty"MysqlConnect_ID);
                
    FInfo[i][f_rootz] = cache_get_field_content_float(i"frootz"MysqlConnect_ID);
                
    FInfo[i][f_virtual] = cache_get_field_content_int(i"fvirtualWorld"MysqlConnect_ID);
                
    FInfo[i][f_int] = cache_get_field_content_int(i"fint"MysqlConnect_ID);
                
    FInfo[i][f_ID] = CreateDynamicObject(FInfo[i][f_model], FInfo[i][f_x], FInfo[i][f_y], FInfo[i][f_z], FInfo[i][f_rootx], FInfo[i][f_rooty], FInfo[i][f_rootz], FInfo[i][f_virtual], FInfo[i][f_int]);
                
    FInfo[i][f_ID] = furniture_object;
            }
        }
        return 
    1;

    Сохранение:
    PHP код:
    stock Furniture_Mysql(i)
    {
        new 
    str[1054];
        
    format(strsizeof(str), "INSERT INTO `furniture` (`fID`, `fmodel`, `fx`, `fy`, `fz`, `frootx`, `frooty`, `frootz`, `fvirtualWorld`, `fint`) VALUES ('%i', '%i', '%f', '%f', '%f', '%f', '%f', '%f', '%i', '%i')",
        
    iFInfo[i][f_model], FInfo[i][f_x], FInfo[i][f_y], FInfo[i][f_z], FInfo[i][f_rootx], FInfo[i][f_rooty], FInfo[i][f_rootz], FInfo[i][f_virtual], FInfo[i][f_int]);
        
    mysql_function_query(MysqlConnect_IDstrfalse"""");
          
    printf("\n\n\%s\n\n",str);
          return 
    1;

    PHP код:
    public OnPlayerEditObject(playeridplayerobjectobjectidresponseFloat:fXFloat:fYFloat:fZFloat:fRotXFloat:fRotYFloat:fRotZ)
    {
        if(!
    playerobject)
        {
            if(!
    IsValidObject(objectid))
                return 
    1;
            
    MoveObject(objectidfXfYfZ10.0fRotXfRotYfRotZ);
        }
        if(
    response == EDIT_RESPONSE_FINAL)
        {
            
    FInfo[furniture_object][f_x] = fX;
            
    FInfo[furniture_object][f_y] = fY;
            
    FInfo[furniture_object][f_z] = fZ;
            
    FInfo[furniture_object][f_rootx] = fRotX;
            
    FInfo[furniture_object][f_rooty] = fRotY;
            
    FInfo[furniture_object][f_rootz] = fRotZ;
            
    FInfo[furniture_object][f_virtual] = GetPlayerVirtualWorld(playerid);
            
    FInfo[furniture_object][f_int] = GetPlayerInterior(playerid);
            
    FInfo[furniture_object][f_model] = GetObjectModel(furniture_object);
            
    Furniture_Mysql(furniture_object);
            
    CancelEdit(playerid);
            
    SendClientMessage(playerid,COLOR_WHITE"Мебель установлена");
            return 
    1;
        }
        if(
    response == EDIT_RESPONSE_CANCEL)
        {
            
    SendClientMessage(playerid, -1"Установка мебели отменена");
            
    DestroyObject(furniture_object);
            
    furniture_object -= 1;
            
    CancelEdit(playerid);
            return 
    1;
        }
        return 
    1;

    Сам диалог:
    PHP код:
    case 26:
            {
                if(
    response)
                {
                    new 
    model strval(inputtext);
                    if(
    PlayerInfo[playerid][pWarehouse] < 30)
                        return 
    SendClientMessage(playeridCOLOR_Copy" Для создания мебели надо 30 материалов! ");
                    new 
    Float:xFloat:yFloat:z;
                    
    GetPlayerPos(playerid,x,y,z);
                    
    furniture_object CreateObject(modelxyz000);
                    
    EditObject(playeridfurniture_object);
                    
    printf("Объект с id %i создан"furniture_object);
                    return 
    1;
                }
            } 
    Скажите почему криво сохраняет?
    Ожидаю ответ)
    ______________________________________
    Всё решено))))
    Последний раз редактировалось #NickName; 31.01.2016 в 02:20.

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

    Статус
    Оффлайн
    Регистрация
    31.07.2015
    Сообщений
    154
    Репутация:
    17 ±
    Возможно лучше использовать GetObjectPos, вместо координат объекта (MoveObject)?

    PHP код:
    public OnPlayerEditObject(playeridplayerobjectobjectidresponseFloat:fXFloat:fYFloat:fZFloat:fRotXFloat:fRotYFloat:fRotZ)
    {
        if(!
    playerobject)
        {
            if(!
    IsValidObject(objectid))
                return 
    1;
            
    MoveObject(objectidfXfYfZ10.0fRotXfRotYfRotZ);
        }
        if(
    response == EDIT_RESPONSE_FINAL)
        {
            new
                
    Float:pos_object_x,
                
    Float:pos_object_y,
                
    Float:pos_object_z
                Float
    :pos_object_x;

            
    GetObjectPos(objectidpos_object_xpos_object_ypos_object_z);


            
    FInfo[furniture_object][f_x] = pos_object_x;
            
    FInfo[furniture_object][f_y] = pos_object_y;
            
    FInfo[furniture_object][f_z] = pos_object_z;
            
    FInfo[furniture_object][f_rootx] = fRotX;
            
    FInfo[furniture_object][f_rooty] = fRotY;
            
    FInfo[furniture_object][f_rootz] = fRotZ;
            
    FInfo[furniture_object][f_virtual] = GetPlayerVirtualWorld(playerid);
            
    FInfo[furniture_object][f_int] = GetPlayerInterior(playerid);
            
    FInfo[furniture_object][f_model] = GetObjectModel(furniture_object);
            
    Furniture_Mysql(furniture_object);
            
    CancelEdit(playerid);
            
    SendClientMessage(playerid,COLOR_WHITE"Мебель установлена");
            return 
    1;
        }
        if(
    response == EDIT_RESPONSE_CANCEL)
        {
            
    SendClientMessage(playerid, -1"Установка мебели отменена");
            
    DestroyObject(furniture_object);
            
    furniture_object -= 1;
            
    CancelEdit(playerid);
            return 
    1;
        }
        return 
    1;

    Последний раз редактировалось Роуди.; 31.01.2016 в 02:30.
    Мои глаза от твоего кода лезут на гавно-инфо и создают тему о расстановке пикапов.

  3. #3
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Для справки: проблема была в типе ячейки таблицы в бд. Был тип INT, а нужен Float. В коде проблем нет.

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

    Статус
    Оффлайн
    Регистрация
    31.07.2015
    Сообщений
    154
    Репутация:
    17 ±
    Цитата Сообщение от Untonyst Посмотреть сообщение
    Для справки: проблема была в типе ячейки таблицы в бд. Был тип INT, а нужен Float. В коде проблем нет.
    так он сказал бы хоть об этом -_-
    Мои глаза от твоего кода лезут на гавно-инфо и создают тему о расстановке пикапов.

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

    Статус
    Оффлайн
    Регистрация
    01.02.2014
    Адрес
    Татарстан
    Сообщений
    171
    Репутация:
    0 ±
    Цитата Сообщение от Роуди. Посмотреть сообщение
    так он сказал бы хоть об этом -_-
    Прикол в том что вроде делал Float тип,а оказалось из-за не внимательности INT.Хорошо хоть в нужный момент решил)

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

    Цитата Сообщение от Роуди. Посмотреть сообщение
    так он сказал бы хоть об этом -_-
    Прикол в том что вроде делал Float тип,а оказалось из-за не внимательности INT.Хорошо хоть в нужный момент решил)

 

 

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

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

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

Ваши права

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