OnPlayerEditAttachedObject FR

From SA-MP Wiki

Jump to: navigation, search


This callback was added in SA-MP 0.3e and will not work in earlier versions!


Description:

La callback est appelée quand un joueur sors du mode d'édition d'objets attachés.


Paramètres:
(playerid, response, index, modelid, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ)
playeridL'ID du joueur qui sort du mode d'édition
response0(false) si il annule (en appuyant sur Échap) ou 1(true) si il clique sur l'icône de sauvegarde.
modelidLe modèle d'objet attaché qui a été édité.
boneidLa partie du corps sur laquelle l'objet a été attaché
fOffsetX(optionnel) L'axe de compensation X qui a été édité.
fOffsetY(optionnel) L'axe de compensation Y qui a été édité.
fOffsetZ(optionnel) L'axe de compensation Z qui a été édité.
fRotX(optionnel) L'axe X de rotation qui a été édité.
fRotY(optionnel) L'axe Y de rotation qui a été édité.
fRotZ(optionnel) L'axe Z de rotation qui a été édité.
fScaleX(optionnel) L'axe d'échelonnage X qui a été édité.
fScaley(optionnel) L'axe d'échelonnage Y qui a été édité.
fScalez(optionnel) L'axe d'échelonnage Z qui a été édité.


Retourne:

Cette callback ne retourne rien, mais doit retourner quelque chose! Regardez ICI pour plus d'informations.


#define MAX_PLAYER_ATTACHED_OBJECTS MOAPJ // Maximum d'objets attachés par joueur
enum oad
{
oa_model,
oa_pdc, // '''p'''artie '''d'''u '''c'''orps
Float:oa_x,
Float:oa_y,
Float:oa_z,
Float:oa_rx,
Float:oa_ry,
Float:oa_rz,
Float:oa_sx,
Float:oa_sy,
Float:oa_sz
}
 
new oa[MAX_PLAYERS][MOAPJ][oad];
 
// Les données ont intérêt à être stockées dans le tableau ci-dessous quand les objets sont attachés.
 
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(playerid, COLOR_GREEN, "Edition d'objet attaché sauvegardée !");
 
        oa[playerid][index][oa_x] = fOffsetX;
        oa[playerid][index][oa_y] = fOffsetY;
        oa[playerid][index][oa_z] = fOffsetZ;
        oa[playerid][index][oa_rx] = fRotX;
        oa[playerid][index][oa_ry] = fRotY;
        oa[playerid][index][oa_rz] = fRotZ;
        oa[playerid][index][oa_sx] = fScaleX;
        oa[playerid][index][oa_sy] = fScaleY;
        oa[playerid][index][oa_sz] = fScaleZ;
    }
    else
    {
        SendClientMessage(playerid, COLOR_RED, "Edition d'objet attaché non sauvegardée.");
 
        new i = index;
        SetPlayerAttachedObject(playerid, index, modelid, boneid, oa[playerid][i][oa_x], oa[playerid][i][oa_y], oa[playerid][i][oa_z], oa[playerid][i][oa_rx], oa[playerid][i][oa_ry], oa[playerid][i][oa_rz], oa[playerid][i][oa_sx], oa[playerid][i][oa_sy], oa[playerid][i][oa_sz]);
    }
    return 1;
}
Image:32px-Circle-style-warning.png

Important
Note

Les éditions devraient être annulées si la response est '0' (retour). Cela doit être fait en sauvegardant les compensations etc. dans un tableau AVANT d'utiliser EditAttachedObject.


Fonctions relatives

Les fonctions suivantes peuvent êtres utiles car elles concernent indirectement ou non cette callback.

Personal tools
In other languages