Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 3 из 3

Тема: EditObject

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

    Статус
    Оффлайн
    Регистрация
    16.08.2014
    Сообщений
    35
    Репутация:
    1 ±

    EditObject

    При создании и последовательном редактировании объекта, редактирование моментально прекращается и объект ремувиться(вызываеться EDIT_RESPONSE_CANCEL).
    Т.е создаешь объект, а он моментально исчезает.
    Редактирование:
    PHP код:
    public OnPlayerEditDynamicObject(playeridobjectidresponseFloat:xFloat:yFloat:zFloat:rxFloat:ryFloat:rz)
    {
        if(
    response == EDIT_RESPONSE_FINAL)
        {
            switch(
    PVar::GetInt(playerid,"TypeGateCreate"))
            {
                case 
    1:
                {
                    if(
    PVar::GetInt(playerid,"TypeGateCreate") != 2)
                    {
                        
    TOTALGATE++;
                        
    GateInfo[TOTALGATE][gShlak][0] = x;
                        
    GateInfo[TOTALGATE][gShlak][1] = y;
                        
    GateInfo[TOTALGATE][gShlak][2] = z;
                        
    GateInfo[TOTALGATE][gShlakRot][0] = rx;
                        
    GateInfo[TOTALGATE][gShlakRot][1] = ry;
                        
    GateInfo[TOTALGATE][gShlakRot][2] = rz;
                        
    ShowPlayerDialog(playerid,D_GATE+2,DIALOG_STYLE_LIST,"{33CCFF}Создание ворот/шлагбаумы","Шлагбаум\nИзменить позицию основания","Accept","Cancel");
                    }
                }
                case 
    2:
                {
                    
    GateInfo[TOTALGATE][gShlak][0] = x;
                    
    GateInfo[TOTALGATE][gShlak][1] = y;
                    
    GateInfo[TOTALGATE][gShlak][2] = z;
                    
    GateInfo[TOTALGATE][gShlakRot][0] = rx;
                    
    GateInfo[TOTALGATE][gShlakRot][1] = ry;
                    
    GateInfo[TOTALGATE][gShlakRot][2] = rz;
                    
    SendMe(playerid,COLOR_LIGHTRED," * Координаты основания Шлагбаума обновлены!");
                    
    ShowPlayerDialog(playerid,D_GATE+2,DIALOG_STYLE_LIST,"{33CCFF}Создание ворот/шлагбаумы","Шлагбаум\nИзменить позицию основания","Accept","Cancel");
                }
                case 
    3:
                {
                    if(
    PVar::GetInt(playerid,"GateCreate") == 968)
                    {
                        
    GateInfo[TOTALGATE][gObjID] = PVar::GetInt(playerid,"GateCreate");
                        
    GateInfo[TOTALGATE][gClose_X] = x;
                        
    GateInfo[TOTALGATE][gClose_Y] = y;
                        
    GateInfo[TOTALGATE][gClose_Z] = z;
                        
    GateInfo[TOTALGATE][gCloseRotX] = rx;
                        
    GateInfo[TOTALGATE][gCloseRotY] = ry;
                        
    GateInfo[TOTALGATE][gCloseRotZ] = rz;
                        
    PVar::SetInt(playerid,"TypeGateCreate",4);
                        
    SendMe(playerid,COLOR_LIGHTRED," * Теперь сохраните координаты в открытом положении!");
                        
    EditDynamicObject(playerid,admgateedit2);
                    }
                    else
                    {
                        
    TOTALGATE++;
                        
    GateInfo[TOTALGATE][gObjID] = PVar::GetInt(playerid,"GateCreate");
                        
    GateInfo[TOTALGATE][gClose_X] = x;
                        
    GateInfo[TOTALGATE][gClose_Y] = y;
                        
    GateInfo[TOTALGATE][gClose_Z] = z;
                        
    GateInfo[TOTALGATE][gCloseRotX] = rx;
                        
    GateInfo[TOTALGATE][gCloseRotY] = ry;
                        
    GateInfo[TOTALGATE][gCloseRotZ] = rz;
                        
    PVar::SetInt(playerid,"TypeGateCreate",4);
                        
    SendMe(playerid,COLOR_LIGHTRED," * Теперь сохраните ворота в открытом положении!");
                        
    EditDynamicObject(playerid,admgateedit);
                    }
                }
                case 
    4:
                {
                    
    GateInfo[TOTALGATE][gOpen_X] = x;
                    
    GateInfo[TOTALGATE][gOpen_Y] = y;
                    
    GateInfo[TOTALGATE][gOpen_Z] = z;
                    
    GateInfo[TOTALGATE][gOpenRotX] = rx;
                    
    GateInfo[TOTALGATE][gOpenRotY] = ry;
                    
    GateInfo[TOTALGATE][gOpenRotZ] = rz;
                    
    ShowPlayerDialog(playerid,D_GATE+3,DIALOG_STYLE_INPUT,"{33CCFF}Создание ворот/шлагбаумы - Данные","\tИмя,Тип: 1-фракция 2-работа 3- дом, Тип: 1 - ворота, 2 - шлагбаум,организация,работа,номер дома\
                            \nПример:\n"
    ,"Accept","Cancel");
                }
            }
        }
        if(
    response == EDIT_RESPONSE_CANCEL)
        {
            
    DestroyDynamicObject(objectid);
        }

    Создание:
    PHP код:
    admgateedit CreateDynamicObject(strval(inputtext),Pos[0],Pos[1]+2.5,Pos[2],0.0,0.0,0.0);
                        
    PVar::SetInt(playerid,"GateCreate",strval(inputtext));
                        
    PVar::SetInt(playerid,"TypeGateCreate",3);
                        
    EditDynamicObject(playerid,admgateedit); 
    Обдумал все варианты. Жду ваши предложения.

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

    Статус
    Оффлайн
    Регистрация
    16.08.2014
    Сообщений
    35
    Репутация:
    1 ±
    Разобрался сам.

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

    Закройте, будьте любезны.

  3. #3
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,271
    Репутация:
    418 ±
    Закрыто.

 

 

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

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

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

Ваши права

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