Szerző Téma: EditObject mozgatása más szemmel..  (Megtekintve 859 alkalommal)

EditObject mozgatása más szemmel..
« Dátum: 2013. augusztus 10. - 21:06:43 »
0 Show voters
Üdv, kicsit hülyén fogalmaztam meg a címet na mind1. Az lenne a problémám pl van 1 sapka rendszerem, és a fejeden lehet mozgatni, amikor lementettem akkor csak én látom hogy ott van, a többiek úgy látják mint ahogy létrehoztam. Help me plss  :thumbsup:
Aki segít meg a \'+\', csak ennyit tudok nyújtani  ;)

EditObject mozgatása más szemmel..
« Válasz #1 Dátum: 2013. augusztus 11. - 14:31:33 »
+1 Show voters
Hozz létre egy enumerációt:
pl.:
 
enum PlayerAttachedObjects
new PlayerObject[MAX_PLAYERS][MAX_PLAYER_ATTACHED_OBJECTS][PlayerAttachedObjects]

 
Bele pedig a változókat(objekt szélessége, magassága, nyújtása, XYZ irányban).
Ezután az OnPlayerEditAttachedObject eljárás alá írd be, hogy a változásokat mentse el az enumerációs változókba.
 
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, COLOR_GREEN, \"Attached object edition saved.\");
        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, COLOR_RED, \"Attached object edition not saved.\");
        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]);
    }
    return 1;
}

 
forrás: Katt

EditObject mozgatása más szemmel..
« Válasz #2 Dátum: 2013. augusztus 11. - 14:46:36 »
0 Show voters
Hm, értem. De ha ezt akarom mindegyik sapkával/dologgal megkell csinálnom egyesével?

EditObject mozgatása más szemmel..
« Válasz #3 Dátum: 2013. augusztus 11. - 20:26:54 »
+1 Show voters
Hogy világos legyek: Mikor az objektedet mozgatod, annak X, Y és Z értékeit menteni kell(mozgatás, forgatás, húzás).
Van neked a tömböd:
 
new PlayerObject[MAX_PLAYERS][MAX_PLAYER_ATTACHED_OBJECTS][PlayerAttachedObjects];

 
A MAX_PLAYERS a játékos ID-jét takarja akinek elmenteni.
A MAX_PLAYER_ATTACHED_OBJECTS egy számot takar 0-9. Ezeket slotoknak nevezem, mert mindegyikbe egy objekt fér(pl. 0. slot: maszk, 1. slot: szemüveg, 2. slot:kalap stb...)
A PlayerAttachedObjects pedig az enumeráció(X, Y, Z, RotationX, RotationY, RotationZ, ScaleX stb...)
Tehát ha felteszel egy objektet az emberedre a 0. slotba akkor módosításkor a 0. slotot fogja módosítani. Azt, hogy mit teszel fel rajtad múlik.

EditObject mozgatása más szemmel..
« Válasz #4 Dátum: 2013. augusztus 11. - 22:43:55 »
0 Show voters
Jaa értem, köszi ment a \'+\' 2x!! Záárok!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal