OnPlayerEditAttachedObject

Z Ferdova wikina
Verze z 1. 6. 2012, 15:27, kterou vytvořil 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…)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání

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


Hráč může upravit (pohybovat, otáčet) daný objekt (CreateObject)

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)