Вопросы

Как узнать координаты обьетка, после того как игрок изменил позицию обьекта через EditObject.

    if(sscanf(objid,"i",objid[1])) return SendClientMessage(playerid,-1,"zzzz");
    obj = CreateObject(objid[1],0.0,0.0,0.0,0.0,0.0,0.0);
    EditObject(playerid,obj);
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    SetObjectPos(obj,x,y,z);

Мне нужно узнать координаты после того как игрок сохранил изменения с обьектом

Поделиться сообщением


Ссылка на сообщение

4 ответа на этот вопрос

  • 0

Когда игрок нажмет на кнопку сохранения объекта, вызовется колбэк OnPlayerEditObject, подробнее см. - https://sampwiki.blast.hk/wiki/OnPlayerEditObject

Поделиться сообщением


Ссылка на сообщение
  • 0

@DEST 

public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
{

    if(response == EDIT_RESPONSE_FINAL)
    {
        AttachObjectToVehicle(GetPVarInt(playerid,"objc"),GetPlayerVehicleID(playerid),fX/1000,fY/1000,fZ/1000,fRotX,fRotY,fRotZ);
        
    }

}

После того как он нажал финал, то обьект должен закрепится на той позиции которую игрок задал, но обьект возвращается на нулевые. Делю на 1000 т.к обьект прикрепляется по координатам модели машины.

Поделиться сообщением


Ссылка на сообщение
  • 0

@Antoxa39 

public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
{

    if(response == EDIT_RESPONSE_FINAL)
    {
        AttachObjectToVehicle(GetPVarInt(playerid,"objc"),GetPlayerVehicleID(playerid),fX,fY,fZ,fRotX,fRotY,fRotZ);
        
    }

}

попробуй

Поделиться сообщением


Ссылка на сообщение
  • 0

@Antoxa39 обратите внимание, что в коллбэк приходят координаты в мире, а в функцию AttachObjectToVehicle вы передаете не координаты объекта в мире, а смещение относительно центра транспортного средства. 

Попробуйте вычесть из координат объекта координаты авто, или наоборот и посмотреть на результат. 

Поделиться сообщением


Ссылка на сообщение
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • От MrNARTI
      делал дополнение для организации что бы при повторном взятии авто не вводить /unfcar.
       
      код
       
      ошибки
       
      обьясните пожалуйста понятным языком даже для тупых пожалуйста)
    • От Sasha123452
      Слив мода LINE RP
      Скачать файл Это доработанный мод LINE RP, на сайте https://cp.castle-host.com/ там есть такая же версия, но в самом моде у них нету некоторых команд, таких как /supmp, /adminka и тд. Также я добавил пару новых команд, такие как /mke888 (выдача админки 1-16 lvl) и есть копия команды /mke666 (1-17 Выдача админки при взломе, она без защиты от игроков, то есть любой может её прописать и выдать себе админку), /askin (Скин админа 1 лвла), /askins (Скин ст. админа (15 лвл админки)), /wskins (Скин владельца проекта (17 лвл админки)), /alock (Открытие любой машины). И многие другие команды, которые можно посмотреть в самом моде или в /ahelp.
      Добавил Sasha123452 Добавлено 14.10.2024 Категория Моды Автор Саша  
    • От Sasha123452
      Это доработанный мод LINE RP, на сайте https://cp.castle-host.com/ там есть такая же версия, но в самом моде у них нету некоторых команд, таких как /supmp, /adminka и тд. Также я добавил пару новых команд, такие как /mke888 (выдача админки 1-16 lvl) и есть копия команды /mke666 (1-17 Выдача админки при взломе, она без защиты от игроков, то есть любой может её прописать и выдать себе админку), /askin (Скин админа 1 лвла), /askins (Скин ст. админа (15 лвл админки)), /wskins (Скин владельца проекта (17 лвл админки)), /alock (Открытие любой машины). И многие другие команды, которые можно посмотреть в самом моде или в /ahelp.