Szerző Téma: public OnPlayerEditAttachedObject  (Megtekintve 1563 alkalommal)

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
public OnPlayerEditAttachedObject
« Dátum: 2013. Július 12. - 13:26:43 »
0
Kipótolnám a 3 hiányzó eljárást.
Ismertetõ
Ez az eljárás akkor hívódik meg amikor a játékos befejezi a hozzá csatolt object editelését.
Paraméterek
 
(playerid, response, index, modelid, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ)

 
playerid - Annak a játékosnak az azonosítója (ID-je) aki befejezte a hozzá csatolt object editelését
respone - 0 Ha ESC kilépett vagy érvénytelenítette 1 ha rákattintott a mentés ikonra
modelid - Annak az objectnek a model ID-ja (és nem az  Object ID-ja!) amelyiket editeljük
boneid - Az játékos gerincének (testének) ID-ja (igen számomra is meglepõ de ezt jelenti)
Float:OffsetX - Az X koordinátája a hozzáadott objectnek ami editelve volt
Float:fOffsetY- Az Y koordinátája a hozzáadott objectnek ami editelve volt
Float:fOffsetZ - A Z koordinátája a hozzáadott objectnek ami editelve volt
Float:fRotX - Az X forgásszöge (rotációja) a hozzáadott objectnek ami editelve volt
Float:fRotY - Az Y forgásszöge (rotációja) a hozzáadott objectnek ami editelve volt
Float:fRotZ - A Z forgásszöge (rotációja) a hozzáadott objectnek ami editelve volt
Float:fScaleX - Az X fokbeosztása (skálája úgymond) a hozzáadott objectnek ami editelve volt
Float:fScaleY - Az Y fokbeosztása (skálája úgymond) a hozzáadott objectnek ami editelve volt
Float:fScaleZ - A Z fokbeosztása (skálája úgymond) a hozzáadott objectnek ami editelve volt
Visszatérési érték
Ez az eljárás nem kezeli a visszatéréseket
!Megjegyzés
- Az objectek editelésének addigi értékeit töröljük ha a response \'0\' ( ESC való kilépés / az editelés érvénytelenítése).  Ezt a responset le kell kérdezni AZ ELÕTT amielõtt EditAttachedObject függvényt használnánk!
Példascript
 

enum attached_object_data // Az OnPlayerEditAttachedObject paraméteit ezekben a tömbökben fogjuk eltárolni
{
ao_model,
ao_bone,
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];
// Az adatokat muszáj elmenteni a fenti tömbökben mikor a hozzácsatolt object hozzá van csatolva a játékoshoz
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) // Eljárásunk
{
    if(response) // Ha a response 1(azaz nem lépett ki, hanem elmentette)
    {
        SendClientMessage(playeird, COLOR_GREEN, \"A hozzácsatolt object elmentve!\"); // Kiírjuk neki az üzenetet
        ao[playerid][index][ao_x] = fOffsetX; // Elmentjük a tömbökbe a hozzácsatolt object paramétereit
        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 // Viszont ha kilépett a játékos a hozzácsatolt object editelésébõl
    {
        SendClientMessage(playeird, COLOR_RED, \"A hozzácsatolt objectek nem lettek mentve mert kiléptél\"); // Küldünk neki egy üzenetet
        new i = index;
        SetPlayerAttachedObject(playerid, index, modelid, boneid, ao[playerid][ao_x], ao[playerid][ao_y], ao[playerid][ao_z], ao[playerid][ao_rx], ao[playerid][ao_ry], ao[playerid][ao_rz], ao[playerid][ao_sx], ao[playerid][ao_sy], ao[playerid][ao_sz]); // Visszaállítjuk az eredeti pozíciójába az objectet!
    }
    return 1; // Visszatérés
}

 

« Utoljára szerkesztve: 2013. Július 12. - 13:59:30 írta Csabesz »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal