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

    Статус
    Оффлайн
    Регистрация
    09.12.2017
    Сообщений
    2
    Репутация:
    0 ±

    OnPlayerSelectObject и SelectObject

    Здравствуйте. Создаю объект в игре, далее хочу его переместить, используя для этого функцию SelectObject
    Вроде появляется информация и, пытаясь кликнуть на объект, ничего не происходит! Даже OnPlayerSelectObject не вызывается!
    Инклуды обновлял, не помогло. Прошу помочь разобраться в данной проблеме


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

    Сразу говорю, Dynamic не используется!

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

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

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    09.12.2017
    Сообщений
    2
    Репутация:
    0 ±
    PHP код:
    case 112:
        {
            if(
    response)
            {
                if(
    listitem == 0ShowPlayerDialog(playerid114DIALOG_STYLE_INPUT, \
                
    "Создание объекта","Введите ID модели объекта для того чтобы его создать\nОбъект появится перед вами, далее вы будете изменять его\n\nМаксимальный ID объекта - 19469",\
                
    "Создать","Назад");
                else if(
    listitem == 1SelectObject(playerid);
                else if(
    listitem == 2ShowPlayerDialog(playerid115DIALOG_STYLE_MSGBOX, \
                
    "Удаление объектов","{FFFFFF}Вы действительно хотите удалить все созданные объекты?",\
                
    "Да","Назад");
            }
        }
        case 
    114:
        {
            if(!
    response) return OpenMenuOBJ(playerid);
            if(!
    strval(inputtext)) return ShowPlayerDialog(playerid114DIALOG_STYLE_INPUT, \
            
    "Создание объекта","Введите ID модели объекта для того чтобы его создать\nОбъект появится перед вами, далее вы будете изменять его\n\nМаксимальный ID объекта - 19469\n{FF0000}Ошибка: Недопустимое значение!",\
            
    "Создать","Назад");
            new 
    Float:XFloat:YFloat:Z;
            
    GetPlayerPos(playeridXYZ);
            new 
    objectid CreateObject(strval(inputtext), X+1Y+1Z+10.0,0.0,0.0);
            
    EditObject(playeridobjectid);
            
    SetPVarInt(playerid"ModelID"strval(inputtext));
            
    Createdobject[objectid] = true;
        }
        case 
    115:
        {
            if(!
    response) return OpenMenuOBJ(playerid);
            for(new 
    0MAX_OBJECTSi++)
            {
                if(
    Createdobject[i] == trueDestroyObject(i);
              }
              
    SendClientMessage(playerid,COLOR_GREY,"Все созданные объекты удалены");
        }
        case 
    117:
        {
            new 
    objectid GetPVarInt(playerid"SelectedObject");
            if(
    responseEditObject(playeridobjectid);
            else 
    DestroyObject(objectid) && CancelEdit(playerid);
        }
        
        
    public 
    OnPlayerSelectObject(playeridtypeobjectidmodelidFloat:fXFloat:fYFloat:fZ)
    {
        
    MSG_D(playerid117DIALOG_STYLE_MSGBOX"Действие с объектом""Выберите действие с объектом\nВы можете его отредактировать или удалить","Изменить","Удалить");
        
    SetPVarInt(playerid"SelectedObject"objectid),SetPVarInt(playerid"ModelID"modelid);
        return 
    1;
    }

    public 
    OnPlayerEditObject(playeridplayerobjectobjectidresponseFloat:fXFloat:fYFloat:fZFloat:fRotXFloat:fRotYFloat:fRotZ)
    {
        if(
    response == 1)
        {
            
    DestroyObject(objectid);
            if(
    TOTALOBJA == 0obja[0] = CreateObject(GetPVarInt(playerid,"ModelID"),fX,fY,fZ,fRotX,fRotY,fRotZ),TOTALOBJA++;
            else 
    obja[TOTALOBJA+1] = CreateObject(GetPVarInt(playerid,"ModelID"),fX,fY,fZ,fRotX,fRotY,fRotZ),TOTALOBJA++;
        }
        return 
    1;

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

    Ага, действительно из-за FS. Но как быть, если мне проще объекты загружать через FS?
    Последний раз редактировалось Noob123; 10.12.2017 в 02:10.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Правильно настрой возвраты в коллбэке OnPlayerSelectObject для фс/мода
    Return Values:
    1 - Will prevent other scripts from receiving this callback.
    0 - Indicates that this callback will be passed to the next script.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

 

 

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

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

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

Ваши права

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