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

    Статус
    Оффлайн
    Регистрация
    11.07.2015
    Сообщений
    190
    Репутация:
    25 ±

    Проблемка с Итераторами

    В общем, возникла проблемка с итераторами. Не срабатывают пикапы. Смешно конечно, но делал динамическую зону и использую с пикапами.
    В общем, вот код, подскажите пожалуйста, в чем может быть проблемка
    Кому удобней, может глянуть на pastebin
    PHP код:
    #define MAX_AREAS    1500 
                                    
    else if (Iter_Contains(business_areas,used_area playerid ] ) )
                    {
                        for ( new 
    0MAX_AREAS ++ )
                        {
                            if ( 
    b_info ] [ b_area ] [ ] == used_area playerid ] )
                            {
                                new 
    dialog_string 100 MAX_PLAYER_NAME 32 ] ;
                                new 
    dialog_header_string 32 12 ] ;
                                
    format dialog_header_stringsizeof dialog_header_string ), "{4582A1}%s"b_info ] [ b_name ] ) ;
                            
                                if ( 
    b_info ] [ b_owner_inc ] == -1)
                                {
                                    
    format dialog_stringsizeof dialog_string ), "\t{FFFFFF}Бизнес продается!\n\nНазвание: {4582A1}\"%s\"\n{FFFFFF}Стоимость: {4582A1}%d$"b_info ] [ b_name ], b_info ] [ b_price ] ) ;
                                    
    show_dialog playeridd_b_buyDIALOG_STYLE_MSGBOXdialog_header_stringdialog_string"Купить""Отмена" ) ;
                                }
                                else
                                {
                                    new 
    business_status 19 ] = "{AA3333}Не работает" ;
                                    if ( ! 
    b_info ] [ b_close ] ) business_status "{33AA33}Работает" ;
     
                                    
    format dialog_stringsizeof dialog_string ), "{FFFFFF}Бизнес {4582A1}\"%s\"{FFFFFF}\n\nВладелец: {4582A1}%s\n{FFFFFF}Продукты: {4582A1}%d\n\n{FFFFFF}Статус: %s"b_info ] [ b_name ], b_info ] [ b_owner_name ], b_info ][ b_product ], business_status ) ;
                                    
    show_dialog playeridd_b_enterDIALOG_STYLE_MSGBOXdialog_header_stringdialog_string"Войти""Отмена" ) ;
                                }
                                
    SetPVarInt playerid"p_biz_id") ;
                                break ;
                            }
                            else if ( 
    b_info ] [ b_area ] [ ] == used_area playerid ] )
                            {
                                new 
    dialog_header_string 32 12 ] ;
                                
    format dialog_header_stringsizeof dialog_header_string ), "{4582A1}%s"b_info ] [ b_name ] ) ;
                                
    SetPVarInt playerid"p_biz_id") ;
                                
    show_dialog playeridd_b_exitDIALOG_STYLE_MSGBOXdialog_header_string"{FFFFFF}Вы действительно хотите выйти?""Да""Нет" ) ;
                                break ;
                            }
                        }    
                    }
                    else if (
    Iter_Contains(houses_areas,used_area playerid ] ) )
                    {
                        for ( new 
    0MAX_AREAS ++ )
                        {
                            if ( 
    h_info ] [ h_area ] [ ] == used_area playerid ] )
                            {
                                new 
    hint h_info ] [ h_int ] - ;
                                new 
    property_text 10 ], dialog_string 196 ] ;
                                if ( 
    h_info ] [ h_vw ] )property_text "Квартира" ;
                                else 
    property_text "Дом" ;
                                if ( 
    h_info ] [ h_owner ] == -)
                                {
                                    
    format dialog_stringsizeof dialog_string"\t{4582A1}%s продаётся!{FFFFFF}\n\n\
                                    Адрес:\t\t{4582A1}%s{ffffff}\n\
                                    Стоимость:\t{4582A1}%d
    ${FFFFFF}\n\
                                    Комнаты:\t{4582A1}%d\n\
                                    \n\nНажмите \"Меню\" для взаимодействия."
    ,
                                    
    property_texth_info ] [ h_address ], h_info ] [ h_price ], house_int hint ] [ hint_rooms ] ) ;
                                    
    show_dialog playeridd_houseDIALOG_STYLE_MSGBOX"{4582A1}Недвижимость"dialog_string"Меню""Закрыть" ) ;
                                    
    SetPVarInt playerid"house_dialog") ;
                                }
                                else
                                {
                                    if ( 
    h_info ][ h_rent_price ] == )
                                    {
                                        
    format dialog_stringsizeof dialog_string"{4582A1}\t\t%s.{FFFFFF}\n\n\
                                        Адрес:\t\t{4582A1}%s{FFFFFF}\n\
                                        Владелец:\t{4582A1}%s\n\
                                        \n\nНажмите \"Меню\" для взаимодействия."
    ,
                                        
    property_texth_info ] [ h_address ], h_info ] [ h_owner_name ] ) ;
                                        
    SetPVarInt playerid"house_dialog") ;
                                        
    show_dialog playeridd_houseDIALOG_STYLE_MSGBOX"{4582A1}Недвижимость"dialog_string"Меню""Закрыть" ) ;
                                    }
                                    else
                                    {
                                        
    format dialog_stringsizeof dialog_string"\t{4582A1}%s сдаётся в аренду!\n\n\
                                        {FFFFFF}Адрес:\t\t{4582A1}%s{ffffff}\n\
                                        Владелец:\t{4582A1}%s{FFFFFF}\n\
                                        Арендная плата:\t{4582A1}%d
    ${FFFFFF}\n\
                                        Комнаты:\t{4582A1}%d\n\
                                        \n\nНажмите \"Меню\" для взаимодействия."
    ,
                                        
    property_texth_info ] [ h_address ], h_info ] [ h_owner_name ], h_info ] [ h_rent_price ],
                                        
    house_int hint ] [ hint_rooms ] ) ;
                                        
    show_dialog playeridd_houseDIALOG_STYLE_MSGBOX"{4582A1}Недвижимость"dialog_string"Меню""Закрыть" ) ;
                                        
    SetPVarInt playerid"house_dialog") ;
                                    }
                                }
                                
    SetPVarInt playerid"house_id") ;
                                break;
                            }
                            else if ( 
    h_info ] [ h_area ] [ ] == used_area playerid ] )
                            {
                                if ( 
    h_info ] [ h_closed ] == ) return GameTextForPlayer playerid"~r~HOUSE CLOSED"2000) ;
                                if ( 
    h_info ] [ h_vw ] )set_pos playeridh_info ] [ h_pos ] [ ], h_info ] [ h_pos ] [ ], h_info ] [ h_pos ] [ ], h_info ] [ h_pos ] [ ], 1h_info ] [ h_vw ] ) ;
                                else 
    set_pos playeridh_info ] [ h_pos ] [ ], h_info ] [ h_pos ] [ ], h_info ] [ h_pos ] [ ], h_info ] [ h_pos ] [ ], 0h_info ] [ h_vw ] ) ;
                                break ;
                            }
                        }
                    } 
    - - - Добавлено - - -

    Забыл добавить. Вот обьявление двух пабликов.

    PHP код:
    public OnPlayerEnterDynamicArea playeridareaid )
    {
        if ( 
    p_t_info playerid ] [ p_logged ] == false ) return false ;
        
    #if defined debug_mode
            
    printf "[DEBUG] [OnPlayerEnterDynamicArea] playerid: %d | areaid:%d"playeridareaid ) ;
        
    #endif 
        
    used_area playerid ] = areaid ;
        if ( ! 
    GetPVarInt playerid"freeze_status" ) ) for ( new 0++ ) TextDrawShowForPlayer playeridtd_alt_area ] ) ;
        return 
    ;
    }


    public 
    OnPlayerLeaveDynamicArea playeridareaid )
    {
        
    used_area playerid ] = - ;
        if ( ! 
    GetPVarInt playerid"freeze_status" ) ) for ( new 0++ )    TextDrawHideForPlayer playeridtd_alt_area ] ) ;
        return 
    ;


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

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

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

    Steve Pavlina

 

 

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

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

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

Ваши права

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