Szerző Téma: SetPlayerToRace(playerid)  (Megtekintve 623 alkalommal)

SetPlayerToRace(playerid)
« Dátum: 2014. November 23. - 13:27:51 »
0 Show voters
hello.
arról van szó, hogy elkezdtem írni a verseny rendszerem.
és, mint az lenni szokott komolyabb rendszereknél, lett egy problémám...
Sok rendszerben láttam, hogy a játékosoknak maguknak kell elmenni a starthoz, ott beállni és úgy kezdik majd el a versenyt.
nos én ezt nem akartam, tehát nézelődtem, hogy van-e erre megoldás.
egyedüli megoldást a bRace-ben láttam, nade az sem volt elég jó.
nekiálltam úgymond egy \"dinamikusabb\" code előállításához.
el is készült, az ötlet a bRace-ből van.
Na de a probléma.
Ha átírom a teszt-ben az angle-t, amerre a játékos nézzen(az autójával együtt), akkor az autókat lerakaja, de mindig más alakzatban.
és ha tegyük fel az angle nagyobb egy értéknél, (most fejből nem tudok mondani, de találkoztam azzal is) , akkor vagy az x, vagy az y pozíciót nem helyesen számolja ki(pl 4 egység helyett csak 0.2-t tolja el).
Íme a code:
 

#define IsOdd(%1) ((%1) & 1)
forward SetRaceCar(hely);
public SetRaceCar(hely)
{
new pos=4,hely2=hely;
new Float:rangle=50.9025;
new Float:rcpx=2044.6926;
new Float:rcpy=1165.7531;
new Float:rcpz=10.3989;
if(IsOdd(hely)) hely2-=1;
printf(\"hely:%d\",hely);
for(new a=0;a<hely2;a++)
{
    if(!(a%2)) pos+=6;
}
printf(\"érték:%d\",pos);
new pos2=pos;
rcpx += (pos2 * floatsin(-rangle, degrees));
if(!IsOdd(hely)) rcpy += (4 * floatcos(-rangle, degrees));
else if(IsOdd(hely)) rcpy += (-8 * floatcos(-rangle, degrees));
CreateVehicle(411,rcpx,rcpy,rcpz,rangle,0,0,0);
return 1;
}

 
U.I: még lehet egyszerűsíteni, de majd magcsinálom. A code átírva \'hely\' argumentumra.
Ha szükséges, majd rakok fel képeket.
Előre kössz.


lehetetlen, hogy nincs egy ember aki ne tudná....  :confused:
« Utoljára szerkesztve: 2014. November 27. - 16:09:15 írta Dfoglalo »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
SetPlayerToRace(playerid)
« Válasz #1 Dátum: 2014. November 27. - 16:09:36 »
0 Show voters
[gmod]Dupla hozzászólás összefűzve.[/gmod]

SetPlayerToRace(playerid)
« Válasz #2 Dátum: 2014. December 11. - 18:39:17 »
0 Show voters
110%-osan új kódot írtam. Megoldva.
Zárok.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal