Szerző Téma: Egy olyan függvény, ami ellenõrzi, hogy a jármû fejjel lefelé van-e..  (Megtekintve 938 alkalommal)

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
0 Show voters
Mint a címbõl kiderül, egy olyan függvényre van szükségem, ami le ellenõrzi, hogy a jármû fejjel lefelé van-e..
Eljutottam odáig, hogy elkezdjem.. GetVehicleZAngle-val fogtam neki, rájöttem, hogy az erre nem jó.. >.<
Nos, találtam egy ilyen függvényt:
http://wiki.sa-mp.com/wiki/GetVehicleRotationQuat
Szerintem ez az, ami kell ehez a függvény megírásához.. Csak nekem nincs hozzá ötletem hogyan vágjak neki..
Ötleteket, tippeket, kész kódokat szeretettel várom!
Elõre is köszi.

Egy olyan függvény, ami ellenõrzi, hogy a jármû fejjel lefelé van-e..
« Válasz #1 Dátum: 2012. szeptember 24. - 16:00:55 »
0 Show voters
A Z angle az olyan mint a játékosnál a facing, tehát akármennyire állítod, a skin(itt a kocsi) nem fog fejen állni. xd
Ha jól sejtem a GetVehicleRotationQuat-nál, ha az utolsó három paraméterbõl akármelyik negatív, akkor a kocsi fel van borulva...
E: Teszteltem sokféle pozícióban és sokféle kocsival, de nem jutottam semmire (volt sok negatív is nem felborulva), valószínûleg az elõzõ ötletem se helyes. :(
« Utoljára szerkesztve: 2012. szeptember 24. - 16:09:10 írta 1ST_Chr »

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Egy olyan függvény, ami ellenõrzi, hogy a jármû fejjel lefelé van-e..
« Válasz #2 Dátum: 2012. szeptember 24. - 16:10:36 »
0 Show voters
Én úgy vettem észre, hogy a flip parancsban benne van a megoldás ha a kocsi fell van borulva akkor helyre állítja a kocsidat szóval kell legyen egy pozíció ami a kocsinak x y z kordinatait lekeri mikor fell van borulva most ez a jó kérdés, hogyan.. Ha találok valamit írok !

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
Egy olyan függvény, ami ellenõrzi, hogy a jármû fejjel lefelé van-e..
« Válasz #3 Dátum: 2012. szeptember 24. - 16:25:00 »
0 Show voters
Idézetet írta: ZyZu date=1348495836\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"27909\" data-ipsquote-contentclass=\"forums_Topic
Én úgy vettem észre, hogy a flip parancsban benne van a megoldás ha a kocsi fell van borulva akkor helyre állítja a kocsidat szóval kell legyen egy pozíció ami a kocsinak x y z kordinatait lekeri mikor fell van borulva most ez a jó kérdés, hogyan.. Ha találok valamit írok !
 
ezzel baromi sokat segítettél, hogy leírtad, hogy fellehet állítani a kocsit.. de nem ez a kérés.. ilyen hsz-eket nem kérek többet. ha mégis találsz valamit akkor írd le.. megköszönném.

Nem elérhető tonyo

  • 1335
  • Moderális Generátor
    • Profil megtekintése
Egy olyan függvény, ami ellenõrzi, hogy a jármû fejjel lefelé van-e..
« Válasz #4 Dátum: 2012. szeptember 24. - 17:15:10 »
+2 Show voters
Nem hogy örülnél hogy írt valaki...
Egyébként: megoldható, DE baromi nehéz. Szóval hacsak nem ûberfontos a dolog, akkor hagyd a fenébe, ha nagyon akarod, akkor kicsit olvasgass a dolgok után. A hivatalos fórumon találtam régebben 1 függvényt, ami használható erre (is). 2 linket tudok adni, az egyikben Y_Less, Ryder és Gamer_Z beszélgetnek fõként errõl a problémakörrõl, a másikon egy include-ot találsz, amitvel a quaternion adatokat át tudod konvertálni más számokra. Annyit elõre tisztázzunk, hogy ez már nagyon magas szintû matek, térgeometria, és programozás keveréke. Megérteni ne akard, a beszélgetést csak érdekességnek tettem ki. Gentleman-el mi is napokat szenvedtünk, mire sikerült mûködésre bírnunk, de már fogalmam sincs hol van a z a kód, amit mi használtunk. Sok szerencsét, talán valamelyik linken benne lesz amit te keresem.
Íme:
Y_Less, Gamer_Z és Ryder beszélgetése: LINK
Include: LINK
Sok szerencsét.

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
Egy olyan függvény, ami ellenõrzi, hogy a jármû fejjel lefelé van-e..
« Válasz #5 Dátum: 2012. szeptember 24. - 19:37:04 »
+1 Show voters
Idézetet írta: Anthony date=1348499710\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"27909\" data-ipsquote-contentclass=\"forums_Topic
Nem hogy örülnél hogy írt valaki...
Egyébként: megoldható, DE baromi nehéz. Szóval hacsak nem ûberfontos a dolog, akkor hagyd a fenébe, ha nagyon akarod, akkor kicsit olvasgass a dolgok után. A hivatalos fórumon találtam régebben 1 függvényt, ami használható erre (is). 2 linket tudok adni, az egyikben Y_Less, Ryder és Gamer_Z beszélgetnek fõként errõl a problémakörrõl, a másikon egy include-ot találsz, amitvel a quaternion adatokat át tudod konvertálni más számokra. Annyit elõre tisztázzunk, hogy ez már nagyon magas szintû matek, térgeometria, és programozás keveréke. Megérteni ne akard, a beszélgetést csak érdekességnek tettem ki. Gentleman-el mi is napokat szenvedtünk, mire sikerült mûködésre bírnunk, de már fogalmam sincs hol van a z a kód, amit mi használtunk. Sok szerencsét, talán valamelyik linken benne lesz amit te keresem.
Íme:
Y_Less, Gamer_Z és Ryder beszélgetése: LINK
Include: LINK
Sok szerencsét.
 
Köszi szépen..


Az egyik linknél találtam egy változatot, a függvény neve IsVehicleState volt..
Módosítgattam, megoldottam rövidebben, optimalizáltam kicsit..
A végeredmény:
 
stock IsVehicleUpsideDown(vehicleid) {
new Float:p[4];
if(GetVehicleRotationQuat(vehicleid, p[0], p[1], p[2], p[3])) {
new Float:angle;
angle = atan2(2.0 * ((p[2] * p[3]) + (p[1] * p[0])), (-(p[1] * p[1]) - (p[2] * p[2]) + (p[3] * p[3]) + (p[0] * p[0])));
return (75.0 < angle > -75.0);
}
return 0;
}

 
A kód tesztelve, mûködik!
Köszönöm, akik segíteni próbáltak, és köszi Anthony. (:

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal