Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 2 из 2 ПерваяПервая 1 2
Показано с 11 по 20 из 20

Тема: Дома

  1. #11
    Аватар для Skyline
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.01.2014
    Адрес
    Россия
    Сообщений
    304
    Репутация:
    2 ±
    Вот первый запуск с логами:
    Код HTML:
    [14:21:58] ID дома 1 | Владелец None
    [14:21:58] ID дома 2 | Владелец None
    [14:21:58] ID дома 3 | Владелец Kentavr
    [14:21:58] ID дома 4 | Владелец None
    [14:21:58] [ЗАГРУЖЕНО ДОМОВ]: <4>
    Сделал продажу:
    Код HTML:
    [14:24:37] UPDATE accounts SET house = '3' WHERE id = 21
    [14:24:37] UPDATE accounts SET house = '0' WHERE id = 24
    [14:24:37] UPDATE house SET owner = 'Kent_No' WHERE id = 3
    [14:24:37] ID дома 3
    Ну и после рестарта сервера:
    Код HTML:
    [14:24:51] ID дома 1 | Владелец None
    [14:24:51] ID дома 2 | Владелец None
    [14:24:51] ID дома 3 | Владелец Kent_No
    [14:24:51] ID дома 4 | Владелец None
    [14:24:51] [ЗАГРУЖЕНО ДОМОВ]: <4>
    Код загрузки:
    PHP код:
    forward LoadHouse();
    public 
    LoadHouse()
    {
        new 
    rows;
         
    cache_get_row_count(rows);
        if(
    rows)
        {
            static const 
    h_null[] = "{FFDEAD}ID: {FFFFFF}[%d]\n{FFDEAD}Владелец: {FFFFFF}Нет\n{FFDEAD}Стоимость: {FFFFFF}%d\n{FFDEAD}Уровень: {FFFFFF}%d";
            static const 
    h_not_null[] = "{FFDEAD}ID: {FFFFFF}[%d]\n{FFDEAD}Владелец: {FFFFFF}%s\n{FFDEAD}Уровень: {FFFFFF}%d";

            new 
    h_buff[sizeof(h_null) + ((3-2) + (24-2) + (20-2) + (5-2))];

            for(new 
    0rowsh++)
            {
                
    cache_get_value_name_int(h,"id",HouseInfo[h][hID]);
                
    cache_get_value_name(h,"owner",HouseInfo[h][hOwner],MAX_PLAYER_NAME);
                
    cache_get_value_name_int(h"owned"HouseInfo[h][hOwned]);
                
    cache_get_value_name_float(h"enter_pos_x"HouseInfo[h][henter_pos_x]);
                
    cache_get_value_name_float(h"enter_pos_y"HouseInfo[h][henter_pos_y]);
                
    cache_get_value_name_float(h"enter_pos_z"HouseInfo[h][henter_pos_z]);
                
    cache_get_value_name_float(h"exit_pos_x"HouseInfo[h][hexit_pos_x]);
                
    cache_get_value_name_float(h"exit_pos_y"HouseInfo[h][hexit_pos_y]);
                
    cache_get_value_name_float(h"exit_pos_z"HouseInfo[h][hexit_pos_z]);
                
    cache_get_value_name_int(h"price"HouseInfo[h][hPrice]);
                
    cache_get_value_name_int(h"level"HouseInfo[h][hLevel]);
                
    cache_get_value_name_int(h"interer"HouseInfo[h][hInt]);
                
    cache_get_value_name_float(h"car_pos_x"HouseInfo[h][hcar_pos_x]);
                
    cache_get_value_name_float(h"car_pos_y"HouseInfo[h][hcar_pos_y]);
                
    cache_get_value_name_float(h"car_pos_z"HouseInfo[h][hcar_pos_z]);
                
    cache_get_value_name_float(h"car_pos_angle"HouseInfo[h][hcar_pos_angle]);
                
    cache_get_value_name_int(h"vehicle"HouseInfo[h][hHouse_Car]);
                
    cache_get_value_name_int(h"veh_color_1"HouseInfo[h][hCar_Color_1]);
                
    cache_get_value_name_int(h"veh_color_2"HouseInfo[h][hCar_Color_2]);

                
    TOTALHOUSE++;

                
    printf("ID дома %i | Владелец %s"HouseInfo[h][hID], HouseInfo[h][hOwner]);
                if(!
    HouseInfo[h][hOwned])
                {
                    
    format(h_buffsizeof(h_buff), h_nullHouseInfo[h][hID], HouseInfo[h][hPrice],HouseInfo[h][hLevel]);
                    
    HouseInfo[h][hPickup] = CreatePickup(12731HouseInfo[h][henter_pos_x], HouseInfo[h][henter_pos_y], HouseInfo[h][henter_pos_z], -1);
                    
    HouseInfo[h][hText]  = Create3DTextLabel(h_buff0x008080FFHouseInfo[h][henter_pos_x], HouseInfo[h][henter_pos_y], HouseInfo[h][henter_pos_z], 70);
                    
    HouseInfo[h][hMapicon] = CreateDynamicMapIcon(HouseInfo[h][henter_pos_x], HouseInfo[h][henter_pos_y], HouseInfo[h][henter_pos_z], 31COLOR_WHITE0, -1, -1100.0);
                }
                else
                {
                    
    format(h_buffsizeof(h_buff), h_not_nullHouseInfo[h][hID], HouseInfo[h][hOwner],HouseInfo[h][hLevel]);
                    
    HouseInfo[h][hPickup] = CreatePickup(12721HouseInfo[h][henter_pos_x], HouseInfo[h][henter_pos_y], HouseInfo[h][henter_pos_z], -1);
                    
    HouseInfo[h][hText]  = Create3DTextLabel(h_buff0xFFFFFFHouseInfo[h][henter_pos_x], HouseInfo[h][henter_pos_y], HouseInfo[h][henter_pos_z], 7.00);
                }
            }
        }
        
    printf("[ЗАГРУЖЕНО ДОМОВ]: <%d>"TOTALHOUSE);
        return 
    1;


  2. #12
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    А посмотреть на код обновления информации о доме никак?
    При загрузке тебя должно интересовать значение переменной h, а не hID. Переделай логирование на эту информацию
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    31.01.2014
    Адрес
    Россия
    Сообщений
    304
    Репутация:
    2 ±
    PHP код:
    printf("ID дома %i | Владелец %s"hHouseInfo[h][hOwner]); 
    Код HTML:
    [14:52:20] ID дома 0 | Владелец None
    [14:52:20] ID дома 1 | Владелец None
    [14:52:20] ID дома 2 | Владелец Kent_No
    [14:52:20] ID дома 3 | Владелец None
    После продажи:
    Код HTML:
    [14:53:42] ID дома 0 | Владелец None
    [14:53:42] ID дома 1 | Владелец None
    [14:53:42] ID дома 2 | Владелец Kentavr
    [14:53:42] ID дома 3 | Владелец None
    [14:53:42] [ЗАГРУЖЕНО ДОМОВ]: <4>

  4. #14
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    А сам лог продажи? Ну запрос и то, какой ID в UpdateHouse пришёл.
    Заодно и код UpdateHouse скинь ещё раз
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    31.01.2014
    Адрес
    Россия
    Сообщений
    304
    Репутация:
    2 ±
    Ну лог такой же как и был:
    Код HTML:
    [14:53:21] UPDATE accounts SET house = '3' WHERE id = 24
    [14:53:21] UPDATE accounts SET house = '0' WHERE id = 21
    [14:53:21] UPDATE house SET owner = 'Kentavr' WHERE id = 3
    [14:53:21] ID дома 3
    И код:
    PHP код:
    stock UpdateHouse(houseid)
    {
        if(!(
    <= houseid sizeof(HouseInfo)))
            return 
    0;

        static const 
    h_null[] = "{FFDEAD}ID: {FFFFFF}[%d]\n{FFDEAD}Владелец: {FFFFFF}Нет\n{FFDEAD}Стоимость: {FFFFFF}%d\n{FFDEAD}Уровень: {FFFFFF}%d";
        static const 
    h_not_null[] = "{FFDEAD}ID: {FFFFFF}[%d]\n{FFDEAD}Владелец: {FFFFFF}%s\n{FFDEAD}Уровень: {FFFFFF}%d";

        new 
    h_buff[sizeof(h_null) + ((3-2) + (24-2) + (20-2) + (5-2))];
        
    DestroyDynamicMapIcon(HouseInfo[houseid][hMapicon]);
        
    DestroyPickup(HouseInfo[houseid][hPickup]);
        
    Delete3DTextLabel(HouseInfo[houseid][hText]);
        if(!
    HouseInfo[houseid][hOwned])
        {
            
    format(h_buffsizeof(h_buff), h_nullHouseInfo[houseid][hID], HouseInfo[houseid][hPrice],HouseInfo[houseid][hLevel]);
            
    HouseInfo[houseid][hPickup] = CreatePickup(12731HouseInfo[houseid][henter_pos_x], HouseInfo[houseid][henter_pos_y], HouseInfo[houseid][henter_pos_z], -1);
            
    HouseInfo[houseid][hText]  = Create3DTextLabel(h_buff0x008080FFHouseInfo[houseid][henter_pos_x], HouseInfo[houseid][henter_pos_y], HouseInfo[houseid][henter_pos_z], 70);
            
    HouseInfo[houseid][hMapicon] = CreateDynamicMapIcon(HouseInfo[houseid][henter_pos_x], HouseInfo[houseid][henter_pos_y], HouseInfo[houseid][henter_pos_z], 31COLOR_WHITE0, -1, -1100.0);
        }
        else
        {
            
    format(h_buffsizeof(h_buff), h_not_nullHouseInfo[houseid][hID], HouseInfo[houseid][hOwner],HouseInfo[houseid][hLevel]);
            
    HouseInfo[houseid][hPickup] = CreatePickup(12721HouseInfo[houseid][henter_pos_x], HouseInfo[houseid][henter_pos_y], HouseInfo[houseid][henter_pos_z], -1);
            
    HouseInfo[houseid][hText]  = Create3DTextLabel(h_buff0xFFFFFFHouseInfo[houseid][henter_pos_x], HouseInfo[houseid][henter_pos_y], HouseInfo[houseid][henter_pos_z], 7.00);
        }
        return 
    1;


  6. #16
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Ну так тебя ничего не напрягает?

    Код:
    [14:52:20] ID дома 0 | Владелец None
    [14:52:20] ID дома 1 | Владелец None
    [14:52:20] ID дома 2 | Владелец Kent_No
    [14:52:20] ID дома 3 | Владелец None
    Код:
    [14:53:21] UPDATE accounts SET house = '3' WHERE id = 24
    [14:53:21] UPDATE accounts SET house = '0' WHERE id = 21
    [14:53:21] UPDATE house SET owner = 'Kentavr' WHERE id = 3
    [14:53:21] ID дома 3
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    31.01.2014
    Адрес
    Россия
    Сообщений
    304
    Репутация:
    2 ±
    Да я уже понял, но при загрузке не пойму как сделать чтобы с 1 ID начинался цикл.

  8. #18
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Эмм, что? Зачем трогать загрузку, когда дело в данных, что ты передаёшь при продаже?
    Пробуй
      Открыть/закрыть
    PHP код:
    if(strcmp(accept"house"true) == 0)
    {
        if(
    GetPVarType(playerid"BUYHOME") == PLAYER_VARTYPE_NONE)
            return 
    SendClientMessage(playeridCOLOR_GREY, !"Вам не кто не предлогал купить дом.");

        new 
    price GetPVarInt(playerid"BUYCENA"),
            
    sellpl GetPVarInt(playerid,"BUYHOME");
        
    DeletePVar(playerid,"BUYHOME");
        
    DeletePVar(playerid,"BUYCENA");

        if(
    pInfo[playerid][pMoney] < price)
            return 
    SendClientMessage(playeridCOLOR_GREY, !"У вас недостаточно средств.");

        if(
    pInfo[playerid][pMats] < price)
            return 
    SendClientMessage(playeridCOLOR_GREY, !"У вас недостаточно материалов.");
            
        if(
    pInfo[playerid][pDrugs] < price)
            return 
    SendClientMessage(playeridCOLOR_GREY, !"У вас недостаточно наркотиков.");

        switch(
    GetPVarInt(playerid"SellHouse_Currency"))
        {
            case 
    '$':
            {
                
    format(string,sizeof string"Вы купили дом у игрока %s за %d$.",pInfo[sellpl][pName], price);
                
    SendClientMessage(playeridCOLOR_LBLUEstring);
                
    format(string,sizeof string ,"Вы продали дом игроку %s за %d$.",pInfo[playerid][pName],price);
                
    SendClientMessage(sellplCOLOR_LBLUEstring);

                
    pInfo[playerid][pMoney] -= price;
                
    pInfo[sellpl][pMoney] += price;
            }
            case 
    'M':
            {
                
    format(string,sizeof string"Вы купили дом у игрока %s за %d материалов.",pInfo[sellpl][pName], price);
                
    SendClientMessage(playeridCOLOR_LBLUEstring);
                
    format(string,sizeof string ,"Вы продали дом игроку %s за %d материалов.",pInfo[playerid][pName],price);
                
    SendClientMessage(sellplCOLOR_LBLUEstring);

                
    pInfo[playerid][pMats] -= price;
                
    pInfo[sellpl][pMats] += price;
            }
            case 
    'D':
            {
                
    format(string,sizeof string"Вы купили дом у игрока %s за %d грамм нарко.",pInfo[sellpl][pName], price);
                
    SendClientMessage(playeridCOLOR_LBLUEstring);
                
    format(string,sizeof string ,"Вы продали дом игроку %s за %d грамм нарко.",pInfo[playerid][pName],price);
                
    SendClientMessage(sellplCOLOR_LBLUEstring);

                
    pInfo[playerid][pDrugs] -= price;
                
    pInfo[sellpl][pDrugs] += price;
            }
        }
        new 
    houseid HouseInfo[(pInfo[playerid][pHouse] = pInfo[sellpl][pHouse])][hID]-1;//Нереальное порно
        
    pInfo[sellpl][pHouse] = HouseInfo[houseid][hOwner][0] = 0;

        
    format(HouseInfo[houseid][hOwner], MAX_PLAYER_NAMEpInfo[playerid][pName]);

        
    format(stringsizeof(string), "UPDATE accounts AS owner, accounts AS buyer SET buyer.house = owner.house, owner.house = 0 WHERE owner.id = %i AND buyer.id = %i"pInfo[sellpl][pID], pInfo[playerid][pID]);
        
    mysql_tquery(mysql_connect_IDstring"""");
        
    printf(string);

        
    format(stringsizeof(string), "UPDATE house SET owner = '%s', owned = 1 WHERE id = %i",pInfo[playerid][pName], houseid);
        
    mysql_tquery(mysql_connect_IDstring"""");
        
    printf(string);

        
    UpdateHouse(houseid);

        
    DeletePVar(playerid"SellHouse_Currency");

    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    31.01.2014
    Адрес
    Россия
    Сообщений
    304
    Репутация:
    2 ±
    Работает) Спасибо, но иконки на карте так и не обновляются.
    Ну с этим думаю разберусь)

  10. #20
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Ты не создаёшь иконку, если дом куплен :)
    PHP код:
    stock UpdateHouse(houseid)
    {
        if(!(
    <= houseid sizeof(HouseInfo)))
            return 
    0;

        static const 
    h_null[] = "{FFDEAD}ID: {FFFFFF}[%d]\n{FFDEAD}Владелец: {FFFFFF}Нет\n{FFDEAD}Стоимость: {FFFFFF}%d\n{FFDEAD}Уровень: {FFFFFF}%d";
        static const 
    h_not_null[] = "{FFDEAD}ID: {FFFFFF}[%d]\n{FFDEAD}Владелец: {FFFFFF}%s\n{FFDEAD}Уровень: {FFFFFF}%d";

        new 
    h_buff[sizeof(h_null) + ((3-2) + (24-2) + (20-2) + (5-2))];
        
    DestroyDynamicMapIcon(HouseInfo[houseid][hMapicon]);
        
    DestroyPickup(HouseInfo[houseid][hPickup]);
        
    Delete3DTextLabel(HouseInfo[houseid][hText]);
        if(!
    HouseInfo[houseid][hOwned])
        {
            
    format(h_buffsizeof(h_buff), h_nullHouseInfo[houseid][hID], HouseInfo[houseid][hPrice],HouseInfo[houseid][hLevel]);
            
    HouseInfo[houseid][hPickup] = CreatePickup(12731HouseInfo[houseid][henter_pos_x], HouseInfo[houseid][henter_pos_y], HouseInfo[houseid][henter_pos_z], -1);
            
    HouseInfo[houseid][hText]  = Create3DTextLabel(h_buff0x008080FFHouseInfo[houseid][henter_pos_x], HouseInfo[houseid][henter_pos_y], HouseInfo[houseid][henter_pos_z], 70);
            
    HouseInfo[houseid][hMapicon] = CreateDynamicMapIcon(HouseInfo[houseid][henter_pos_x], HouseInfo[houseid][henter_pos_y], HouseInfo[houseid][henter_pos_z], 31COLOR_WHITE0, -1, -1100.0);
        }
        else
        {
            
    format(h_buffsizeof(h_buff), h_not_nullHouseInfo[houseid][hID], HouseInfo[houseid][hOwner],HouseInfo[houseid][hLevel]);
            
    HouseInfo[houseid][hPickup] = CreatePickup(12721HouseInfo[houseid][henter_pos_x], HouseInfo[houseid][henter_pos_y], HouseInfo[houseid][henter_pos_z], -1);
            
    HouseInfo[houseid][hText]  = Create3DTextLabel(h_buff0xFFFFFFHouseInfo[houseid][henter_pos_x], HouseInfo[houseid][henter_pos_y], HouseInfo[houseid][henter_pos_z], 7.00);
            
    HouseInfo[houseid][hMapicon] = CreateDynamicMapIcon(HouseInfo[houseid][henter_pos_x], HouseInfo[houseid][henter_pos_y], HouseInfo[houseid][henter_pos_z], 32COLOR_WHITE0, -1, -1100.0);
        }
        return 
    1;

    С ID модели мог ошибиться
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

 

 
Страница 2 из 2 ПерваяПервая 1 2

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

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

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

Ваши права

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