OnPlayerEditAttachedObject: Porovnání verzí

Z Ferdova wikina
Skočit na navigaci Skočit na vyhledávání
Lurk (diskuse | příspěvky)
Založena nová stránka: <div style="background: #dcdcdc; border:1px solid #000; width:700px"> <div style="border-left: 10px solid #298A66; font-style: italic; padding: 2px 2px 1px 8px;"> <p>Tat…
 
Lurk (diskuse | příspěvky)
Bez shrnutí editace
Řádek 3: Řádek 3:




:Hráč může upravit (pohybovat, otáčet) daný objekt ([[CreateObject]])
:Tento callback je vyvolán, když hráč ukončí úpravu objektu.


====Parametry====
====Parametry====

Verze z 1. 6. 2012, 15:28

Tato funkce byla přidána ve verzi 0.3e. Nedoporučuje se používat starší verze!


Tento callback je vyvolán, když hráč ukončí úpravu objektu.

Parametry

(playerid, response, index, modelid, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY,
Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ)
playerid
ID hráče
response
0 pokud zruší (ESC) nebo, 1 pokud klikne na ikonu Uložit.
modelid
Model připojené objektu, který byl upravován
boneid
The bone připojeného objektu, který byl upravován
Float:fOffsetX/Y/Z
Pozice X/Y/Z pro připojený objekt, který byl upravován
Float:fRotX/Y/Z
Rotace X/Y/Z pro připojený objekt, který byl upravován
Float:fScaleX/Y/Z
Velikost X/Y/Z pro připojený objekt, který byl upravován


Tento CallBack nevrací žádnou hodnotu



enum attached_object_data
{
ao_model,
ao_bone,
Float:ao_x,
Float:ao_y,
Float:ao_z,
Float:ao_rx,
Float:ao_ry,
Float:ar_rz,
Float:as_sx,
Float:ao_sy,
Float:ao_sz
}
 
new ao[MAX_PLAYERS][MAX_PLAYER_ATTACHED_OBJECTS][attached_object_data];
 
//Tyto údaje by měly být uloženy ve výše uvedeném poli, když jsou připojeny objekty.
 
public OnPlayerEditAttachedObject(playerid, response, index, modelid, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ,
Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ)
{
    if(response)
    {
        SendClientMessage(playeird, 0xFFFFFF00, "Připojený objekt byl uložen");
 
        ao[playerid][index][ao_x] = fOffsetX;
        ao[playerid][index][ao_y] = fOffsetY;
        ao[playerid][index][ao_z] = fOffsetZ;
        ao[playerid][index][ao_rx] = fRotX;
        ao[playerid][index][ao_ry] = fRotY;
        ao[playerid][index][ao_rz] = fRotZ;
        ao[playerid][index][ao_sx] = fScaleX;
        ao[playerid][index][ao_sy] = fScaleY;
        ao[playerid][index][ao_sz] = fScaleZ;
    }
    else
    {
        SendClientMessage(playeird, 0xFFFFFF00, "Připojený objekt nebyl uložen");
 
        new i = index;
        SetPlayerAttachedObject(playerid, index, modelid, boneid, ao[playerid][i][ao_x], ao[playerid][i][ao_y],
        ao[playerid][i][ao_z], ao[playerid][i][ao_rx], ao[playerid][i][ao_ry], ao[playerid][i][ao_rz], ao[playerid][i][ao_sx],
        ao[playerid][i][ao_sy], ao[playerid][i][ao_sz]);
    }
    return 1;
}

Důležitá poznámka Editace by měla být zlikvidována, pokud odpověď byla 0(zrušeno). Musí být provedeno ukládání offsety atd. v poli před použitím EditAttachedObject

Autor: Lurk(Luděk)