Szerző Téma: SetVehicleSpeed( vehicleid, speed );  (Megtekintve 3788 alkalommal)

dexi

  • Vendég
SetVehicleSpeed( vehicleid, speed );
« Dátum: 2012. június 21. - 22:59:05 »
+13 Show voters
Sziasztok! kurta999 kérte ezt a kis inc-et..
Készítõ: Fl0rian - Horváth Flórián
Teljesen mûködik!
A lényege hogy beállítja a jármû sebességét. ( km/h -ban )
Tesztelve!
Használata( pl mikor beszállsz a kocsiba állítsa be a sebességet 100-ra ):
 

public OnPlayerStateChange( playerid, newstate, oldstate ) {
new vehicleid = GetPlayerVehicleID( playerid );
if( newstate == PLAYER_STATE_DRIVER ) { SetVehicleSpeed( vehicleid, 100 ); }
return 1;
}

 
 
Letöltés [sOLIDFILES]
^ Hibás. A kód a legfrissebb verzió!
KÓD:
 
// Készítõ: Fl0rian @ sampforum.hu
new in_Timer[ MAX_VEHICLES ];
new de_Timer[ MAX_VEHICLES ];
stock GetVehicleSpeed( vehicleid ) {
new Float:vSpeed[3];
GetVehicleVelocity( vehicleid, vSpeed[0], vSpeed[1], vSpeed[2] );
new Float:vSpeed_Float;
vSpeed_Float = floatsqroot( ((vSpeed[0] * vSpeed[0]) + (vSpeed[1] * vSpeed[1])) + (vSpeed[2] * vSpeed[2])) * 161.0;
new vSpeed_Int;
vSpeed_Int = floatround( vSpeed_Float, floatround_round );
return vSpeed_Int;
}
stock SetVehicleSpeed( vehicleid, speed ) {
new iSpeed = GetVehicleSpeed( vehicleid );
if( iSpeed < speed ) {
    KillTimer( de_Timer[ vehicleid ] );
in_Timer[ vehicleid ] = SetTimerEx( \"inCreaseVehicleSpeed\", 10, true, \"ii\", vehicleid, speed );
}
else {
    KillTimer( in_Timer[ vehicleid ] );
de_Timer[ vehicleid ] = SetTimerEx( \"deCreaseVehicleSpeed\", 10, true, \"ii\", vehicleid, speed );
}
return 1;
}
forward inCreaseVehicleSpeed( vehicleid, speed );
public inCreaseVehicleSpeed( vehicleid, speed ) {
new Float: vSpeed[ 3 ];
new Float: Angle;
GetVehicleZAngle( vehicleid, Angle );
Angle += 90.0;
GetVehicleVelocity( vehicleid, vSpeed[0], vSpeed[1], vSpeed[2] );
new iSpeed = GetVehicleSpeed( vehicleid );
if( iSpeed < speed ) {
SetVehicleVelocity( vehicleid, vSpeed[0] + (floatcos(Angle, degrees) * 0.05 ), vSpeed[1] + (floatsin(Angle, degrees) * 0.05 ), vSpeed[2] );
}
if( iSpeed >= speed ) {
KillTimer( in_Timer[ vehicleid ] );
}
return 1;
}
forward deCreaseVehicleSpeed( vehicleid, speed );
public deCreaseVehicleSpeed( vehicleid, speed ) {
new Float: vSpeed[ 3 ];
new Float: Angle;
GetVehicleZAngle( vehicleid, Angle );
//Angle = Angle + 90.0;
GetVehicleVelocity( vehicleid, vSpeed[0], vSpeed[1], vSpeed[2] );
new iSpeed = GetVehicleSpeed( vehicleid );
SetVehicleVelocity( vehicleid, vSpeed[0] + (floatsin(Angle, degrees) * 0.05 ) * -1.0, vSpeed[1] + (floatcos(Angle, degrees) * 0.05 ) * -1.0, vSpeed[2] );
if( iSpeed >= speed ) {
KillTimer( de_Timer[ vehicleid ] );
}
return 1;
}
« Utoljára szerkesztve: 2012. június 22. - 00:50:52 írta Fl0rian »

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
SetVehicleSpeed( vehicleid, speed );
« Válasz #1 Dátum: 2012. június 22. - 06:45:30 »
0 Show voters
Köszi szépen, ez így asszem jó is lessz :D
Mindjárt tesztelem is.

Nem elérhető Sramm

  • 596
    • Profil megtekintése
SetVehicleSpeed( vehicleid, speed );
« Válasz #2 Dátum: 2012. június 22. - 10:54:32 »
0 Show voters
Ez azt jelenti, hogy annyival tud csak menni, amennyivel beállítom? :D És akkor lehet vele sebességkorlátot is csinálni, igaz? :D

dexi

  • Vendég
SetVehicleSpeed( vehicleid, speed );
« Válasz #3 Dátum: 2012. június 22. - 11:01:13 »
0 Show voters
Leírásoknál ott a sebességkorlát. Ez felgyorsítja illetve lelassítja a jármûvet egy beállított sebességre.

SetVehicleSpeed( vehicleid, speed );
« Válasz #4 Dátum: 2012. június 24. - 10:07:24 »
0 Show voters
Nagyon szep ink,hasznos. Ment a +

SetVehicleSpeed( vehicleid, speed );
« Válasz #5 Dátum: 2012. június 24. - 10:23:33 »
+1 Show voters
Szép lett,tesztelni nem teszteltem.
Hasznos ink,sokaknak tetszik/tetszeni fog.
Ment a +,csak így tovább!

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
SetVehicleSpeed( vehicleid, speed );
« Válasz #6 Dátum: 2012. június 24. - 11:04:11 »
0 Show voters
10 ms nem \"sok\" egy kicsit?

dexi

  • Vendég
SetVehicleSpeed( vehicleid, speed );
« Válasz #7 Dátum: 2012. június 24. - 11:55:03 »
0 Show voters
Hát, kell egy kis idõ mire felgyorsít a kívánt sebességre de szerintem jó így. Én nem használom, tehát aki akarja fejleszti.
« Utoljára szerkesztve: 2012. június 24. - 17:34:56 írta Fl0rian »

Nem elérhető instant

  • 2778
  • ZzzzzZ
    • Profil megtekintése
SetVehicleSpeed( vehicleid, speed );
« Válasz #8 Dátum: 2012. június 28. - 07:05:52 »
0 Show voters
bár ez valamennyire jó \'RP\' szerverre

Nem elérhető Sramm

  • 596
    • Profil megtekintése
SetVehicleSpeed( vehicleid, speed );
« Válasz #9 Dátum: 2012. július 02. - 15:08:45 »
0 Show voters
Nálam nem mûködik :S
 
public Sebessegkorlat(playerid)
{
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
    if(sebesseg[playerid] != 0.0)
    {
        new vid = GetPlayerVehicleID(playerid);
        if(GetVehicleSpeed(vid) >= sebesseg[playerid])
          {
          SetVehicleSpeed( vid, floatround(sebesseg[playerid],floatround_round) );
   }
}
}
return SetTimerEx(\"Sebessegkorlat\", 500, false, \"d\", playerid);
}

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal