new Float:X,Float:Y,Float:Z,vehid;GetVehiclePos(vehid,X,Y,Z);if(IsPlayerInrangeOfPoint(playerid,3.0,X,Y,Z);{// funkciók ha a közelében van}
new Float:X,Float:Y,Float:Z,vehid;GetVehiclePos(vehid,X,Y,Z); [/quote]De az bonyolult megoldás, és szükséges hozzá minimum 360 lehetõség megadása. Lehet kevesebb is, de az a pontosság rovására menne. Tehát szerintem maradj az elsõ tanácsomnál, az objectes ellenõrzésnél.
new Float:X,Float:Y,Float:Z,vehid;GetVehiclePos(vehid,X,Y,Z);
CMD:lekerdez(playerid, params[]){ new currentveh; new Float:z_rot; new message[40]; currentveh = GetPlayerVehicleID(playerid); GetVehicleZAngle(currentveh, z_rot); format(message, sizeof(message), \"A Jármû Z forgás tengely értéke: %.0f\", z_rot); SendClientMessage(playerid, 0xFFFFFFFF, message); return 1;}
new Float:ZR;GetVehicleZAngle(currentveh, ZR);
Egyébként mind2-nknek van egy ötlete rá, nincs ezzel semmi baj
Az úgy nem jó. Mert ha a kocsi Z tengelyû rotációja nem 0, akkor máris más lesz a eredmény. Ha pedig pont 180 fokkal van elfordulva a kocsi, akkor úgy fogja érzékelni a rendszer, hogy a játékos a csomagtartónál áll, miközben a motorháztetõnél van, a kocsi másik felén.[/quote]
Ezzel pontosan azt csinálod... new Float:X,Float:Y,Float:Z,vehid;GetVehiclePos(vehid,X,Y,Z); De az bonyolult megoldás, és szükséges hozzá minimum 360 lehetõség megadása. Lehet kevesebb is, de az a pontosság rovására menne. Tehát szerintem maradj az elsõ tanácsomnál, az objectes ellenõrzésnél. [/quote]az meg nem mûködik...mivel nem az aktuális pozícióját adja vissza hanem azt ahol létrehoztad...
Ezzel pontosan azt csinálod... new Float:X,Float:Y,Float:Z,vehid;GetVehiclePos(vehid,X,Y,Z); De az bonyolult megoldás, és szükséges hozzá minimum 360 lehetõség megadása. Lehet kevesebb is, de az a pontosság rovására menne. Tehát szerintem maradj az elsõ tanácsomnál, az objectes ellenõrzésnél. [/quote]az meg nem mûködik...mivel nem az aktuális pozícióját adja vissza hanem azt ahol létrehoztad... [/quote]Az objectesre értetted? Gondolom igen. Ha belegondolok, lehet, hogy ez tényleg így van. Pedig valami ilyesmi megoldást alkalmazott az egyik ismerõsöm. Akkor viszont nem tudom, hogyan. Marad a másik lehetõség. Ezt pedig tényleg nézd át: Ez alapján meg tudod csinálni.Térgeometria: Körbe menni a játékos körül [/quote]
Ez alapján meg tudod csinálni.Térgeometria: Körbe menni a játékos körül [/quote]
#define TAVOLSAG 3.0 //távolság a kocsi közepétõl. Írd át, mert csak egy random számot írtam benew Float:angle, Float:pos[3];GetVehiclePos(vehicleid, pos[0], pos[1], pos[2]);GetVehicleZAngle(vehicleid, angle);pos[0] += (TAVOLSAG * floatsin(-angle, degrees));//hozzáadjuk a lekért pozícióhoz a távolságot. (X tengely)pos[1] += (TAVOLSAG * floatcos(-angle, degrees));//hozzáadjuk a lekért pozícióhoz a távolságot. (Y tengely)//ha a csomagtartót akarod lekérdezni, akkor meg értelemszerûen kivonod a pozícióból