Szerző Téma: Editobject után lekérdezni az object koordinátát..  (Megtekintve 826 alkalommal)

Editobject után lekérdezni az object koordinátát..
« Dátum: 2014. Július 09. - 18:36:14 »
0 Show voters
Üdv. Egy olyan problémával fordulok hozzátok, hogy amikor valahol létrehozok egy objectet
pl:
 
 GetPlayerPos(playerid, LETRAX, LETRAY, LETRAZ);
letraobj[playerid] = CreateObject(1437,LETRAX,LETRAY,LETRAZ-2,0.0,0.0,0,0.0);

 
Majd editelem, elviszem a létrehozott koordinátától vagy 20méterre.
 
EditObject(playerid, letraobj[playerid]);

 
Lementem. Jó, minden rendben.
De mikor fel akarom venni, az object a létrehozott koordinátánál marad. De végülis az object máshol van.
hiába kérem le az object koordinátáját. Nem lesz jó.
 
GetObjectPos(letraobj[playerid], LETRAX, LETRAY, LETRAZ);
GetPlayerPos(playerid, LETRAX, LETRAY, LETRAZ);

 
Ha nem értitek hogy mit is akartam kifejezni, írjátok le :D és bõvebben kifejtem.
Aki segít megy a +!
Elõre is köszi!
Hogy lehet SetObjectPos-olni, mikor már lementettem az objectet?
« Utoljára szerkesztve: 2014. Július 10. - 03:56:27 írta ZyZu. »

Editobject után lekérdezni az object koordinátát..
« Válasz #1 Dátum: 2014. Július 09. - 19:25:14 »
0 Show voters
hát én elõször a getobjectpos-ra gondoltam, de ahogy olvastam tovább, egyre inkább nem értettem...
mi a célod azzal a létra objecttel?

Editobject után lekérdezni az object koordinátát..
« Válasz #2 Dátum: 2014. Július 09. - 19:27:11 »
0 Show voters
Ez egy kocsog létra  ;D
Amúgy az, hogy mikor lementettem az edit objectnél, akkor abban az új koordinátában legyen, ne a létrehozott koordinátában.

Editobject után lekérdezni az object koordinátát..
« Válasz #3 Dátum: 2014. Július 09. - 19:35:17 »
0 Show voters
Idézetet írta: Ryan_Adam date=1404926831\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49323\" data-ipsquote-contentclass=\"forums_Topic
Ez egy kocsog létra  ;D
Amúgy az, hogy mikor lementettem az edit objectnél, akkor abban az új koordinátában legyen, ne a létrehozott koordinátában.
 
akkor kapizsgálom..
 

#include <a_samp>
#include <zcmd>
new Float:LETRAX, Float:LETRAY, FLOAT:LETRAZ;
new letraobj[MAX_PLAYERS];
CMD:letra(playerid)
{
GetPlayerPos(LETRAX, LETRAY, LETRAZ);
letraobj[playerid] = CreateObject(1437,LETRAX,LETRAY,LETRAZ-2,0.0,0.0,0,0.0);
return 1;
}
CMD:Edit(playerid)
{
    EditObject(playerid, letraobj[playerid]);
    return 1;
}
CMD:objectment(playerid)
{
GetObjectPos(letraobj[playerid], LETRAX, LETRAY, LETRAZ);
//ide mondjuk a dini, vagy bármit is akarsz vele...
return 1;
}

 
nekem ez jött le belõle. ennek így mûködnie kell xd
EDIT:
most gondolkozom, hogy ha te mented a rotálást (forgatást) is, annak kell még plusz 3 változó.....
szóval lehet, hogy eddig is azért nem úgy ment, ahogy te szeretnéd...vagy nem tudom.xd
« Utoljára szerkesztve: 2014. Július 09. - 19:45:12 írta draco_blue »

Editobject után lekérdezni az object koordinátát..
« Válasz #4 Dátum: 2014. Július 09. - 20:11:57 »
0 Show voters
Õõõh, nem teljesen így értem.
A probléma.
Elkezdem editelni
 
CMD:Edit(playerid)
{
    EditObject(playerid, letraobj[playerid]);
    return 1;
}

 
Jó editeltem, rámentem a köcsög Save-ra.
Ott maradt az object, minden rendben.
De mikor fel akar venni a létrát, ugye
 
    if(IsPlayerInRangeOfPoint(playerid, 4.0, LETRAX, LETRAY, LETRAZ))

 
és ha oda megyek az objecthez, ahova lementettem, akkor azt írja nem vag a létra közelében.
De ahol létrehoztam ott jó.
Fejlesztettem az object ment parancsodat.
 
CMD:objectment(playerid)
{
GetObjectPos(letraobj[playerid], LETRAX, LETRAY, LETRAZ);
GetObjectRot(letraobj[playerid], LETRARotX, LETRARotY, LETRARotZ);
SetObjectPos(letraobj[playerid], LETRAX, LETRAY, LETRAZ);
SetObjectRot(letraobj[playerid], LETRARotX, LETRARotY, LETRARotZ);
    SendClientMessage(playerid, FEHER, \"Izéne, elvileg lementettem!\");
        return 1;
}

 
Hogy legyen ott az object ahol lementettem a save-al.
De mikor beírom, vissza kerül a helyére, ahol létrehoztam.
ÁÁ nem tudom jobban elmagyarázni  :-X

Editobject után lekérdezni az object koordinátát..
« Válasz #5 Dátum: 2014. Július 09. - 20:14:02 »
0 Show voters
próbáld meg másik változóra menteni, ne arra, amire létrehoztad..és arra ellenörzöd le az isplayerinrangeofpoint-ot....

Editobject után lekérdezni az object koordinátát..
« Válasz #6 Dátum: 2014. Július 11. - 17:21:00 »
0 Show voters
Az OnPlayerEditObject alatti részt másold be(AZ EGÉSZET).

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal