note Help Needed
This wiki is the result of an ongoing community effort — thank you all for helping!
If you want to provide changes to this page then please click here.
OnPlayerEditAttachedObject
Descriere
Acest callback este apelat atunci când un jucător încheie modul de ediție a obiectelor atașate.
Nume | Descriere |
---|---|
playerid | ID-ul jucătorului care a încheiat modul ediție |
EDIT_RESPONSE:response | 0 dacă au anulat (ESC) sau 1 dacă au făcut clic pe pictograma de salvare |
index | Indexul obiectului atașat (0-9) |
modelid | Modelul obiectului atașat care a fost editat |
boneid | Osul obiectului atașat care a fost editat |
Float:fOffsetX | Decalajul X pentru obiectul atașat care a fost editat |
Float:fOffsetY | Decalajul Y pentru obiectul atașat care a fost editat |
Float:fOffsetZ | Decalajul Z pentru obiectul atașat care a fost editat |
Float:fRotX | Rotația X pentru obiectul atașat care a fost editat |
Float:fRotY | Rotația Y pentru obiectul atașat care a fost editat |
Float:fRotZ | Rotația Z pentru obiectul atașat care a fost editat |
Float:fScaleX | Scara X pentru obiectul atașat care a fost editat |
Float:fScaleY | Scara Y pentru obiectul atașat care a fost editat |
Float:fScaleZ | Scara Z pentru obiectul atașat 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.
Example
enum attached_object_data
{
Float:ao_x,
Float:ao_y,
Float:ao_z,
Float:ao_rx,
Float:ao_ry,
Float:ao_rz,
Float:ao_sx,
Float:ao_sy,
Float:ao_sz
}
new ao[MAX_PLAYERS][MAX_PLAYER_ATTACHED_OBJECTS][attached_object_data];
// Datele ar trebui să fie stocate în matricea de mai sus atunci când obiectele atașate sunt atașate.
public OnPlayerEditAttachedObject(playerid, EDIT_RESPONSE: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, "Ediția obiectului atașat a fost salvată.");
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(playerid, COLOR_RED, "Ediția obiectului atașat nu a fost salvată.");
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;
}
Note
warning
Edițiile ar trebui eliminate dacă răspunsul a fost „0” (anulat). Acest lucru trebuie făcut prin stocarea offset-urilor etc. într-o matrice ÎNAINTE de a utiliza EditAttachedObject.
Funcții similare
- EditAttachedObject: Editați un obiect atașat.
- SetPlayerAttachedObject: Atașați un obiect unui jucător.