---
title: "OnPlayerEditObject | open.mp"
description: "Acest callback este apelat atunci când un jucător termină editarea unui obiect (EditObject/EditPlayerObject)."
canonical: https://omp.itsneufox.com/ro/docs/scripting/callbacks/OnPlayerEditObject
language: ro
---

# OnPlayerEditObject

## Descriere

Acest callback este apelat atunci când un jucător termină editarea unui obiect (EditObject/EditPlayerObject).

| Nume | Descriere |
| --- | --- |
| playerid | ID-ul jucătorului care a editat un obiect |
| playerobject | 0 dacă este un obiect global sau 1 dacă este un obiect player. |
| objectid | ID-ul obiectului editat |
| EDIT\_RESPONSE:response | [type of response](https://omp.itsneufox.com/ro/docs/scripting/resources/objecteditionresponsetypes) |
| Float:fX | Decalajul X pentru obiectul care a fost editat |
| Float:fY | Decalajul Y pentru obiectul care a fost editat |
| Float:fZ | Decalajul Z pentru obiectul care a fost editat |
| Float:fRotX | Rotația X pentru obiectul care a fost editat |
| Float:fRotY | Rotația Y pentru obiectul care a fost editat |
| Float:fRotZ | Rotația Z pentru obiectul care a fost editat |

## Returnări

1 - Va împiedica alte scripturi să primească acest callback.

0 - Indică faptul că acest callback va fi transmis următorului script.

Este întotdeauna numit primul în filterscript-uri.

## Exemple

```c
public OnPlayerEditObject(playerid, playerobject, objectid, EDIT_RESPONSE:response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
{
    new
        Float: oldX,
        Float: oldY,
        Float: oldZ,
        Float: oldRotX,
        Float: oldRotY,
        Float: oldRotZ;

    GetObjectPos(objectid, oldX, oldY, oldZ);
    GetObjectRot(objectid, oldRotX, oldRotY, oldRotZ);
    if (!playerobject) // Dacă acesta este un obiect global, sincronizați poziția pentru alți jucători
    {
        if (!IsValidObject(objectid))
        {
            return 1;
        }
        SetObjectPos(objectid, fX, fY, fZ);
        SetObjectRot(objectid, fRotX, fRotY, fRotZ);
    }

    switch (response)
    {
        case EDIT_RESPONSE_FINAL:
        {
            // Jucătorul a făcut clic pe pictograma de salvare
            // Faceți orice aici pentru a salva poziția actualizată a obiectului (și rotația)
        }

        case EDIT_RESPONSE_CANCEL:
        {
            //Jucătorul a anulat, așa că puneți obiectul înapoi în vechea poziție
            if (!playerobject) //Obiectul nu este un obiect player
            {
                SetObjectPos(objectid, oldX, oldY, oldZ);
                SetObjectRot(objectid, oldRotX, oldRotY, oldRotZ);
            }
            else
            {
                SetPlayerObjectPos(playerid, objectid, oldX, oldY, oldZ);
                SetPlayerObjectRot(playerid, objectid, oldRotX, oldRotY, oldRotZ);
            }
        }
    }
    return 1;
}
```

## Note

warning

Când utilizați „EDIT\_RESPONSE\_UPDATE”, rețineți că acest callback nu va fi apelat la eliberarea unei editări în curs, ceea ce duce la desincronizarea ultimei actualizări a „EDIT\_RESPONSE\_UPDATE” cu poziția curentă a obiectelor.

## Related Functions

-   [EditObject](https://omp.itsneufox.com/ro/docs/scripting/functions/EditObject): Editați un obiect.
-   [CreateObject](https://omp.itsneufox.com/ro/docs/scripting/functions/CreateObject): Creați un obiect.
-   [DestroyObject](https://omp.itsneufox.com/ro/docs/scripting/functions/DestroyObject): Distruge un obiect.
-   [MoveObject](https://omp.itsneufox.com/ro/docs/scripting/functions/MoveObject): Mutați un obiect.

## Related Resources

-   [Tipuri de răspuns editare obiect](https://omp.itsneufox.com/ro/docs/scripting/resources/objecteditionresponsetypes)
