Setare viteza
#1

Salutare! Am si eu o intrebare. Cum as putea sa fac ca la intrarea intr-un cp vehiculului sa i se seteze viteza 0?
Am nevoie de asta la un job la care trebuie sa astepti cateva secunde pe loc dupa ce ai luat cp'ul, insa daca am viteza, masina merge inainte. Am incercat cu setarea pozitiei la coordonatele cp , TogglePlayerControllable(playerid, 0) si un timer cu TogglePlayerControllable(playerid, 1) dupa 5 secunde insa nu merge..
Multumesc anticipat!
Reply
#2

Vezi daca poti aplica SetVehicleVelocity
Daca nu merge, atunci incearca sa setezi coordonatele player-ului in acel checkpoint, exact cum ai face la un teleport.
Atata doar ca il teleportezi acolo unde e deja. Asta ar trebui sa ii seteze viteza 0.
Vezi numa sa culegi rotatia vehiculului inainte de teleportare si cand il teleportezi sa pui rotatia respectiva. Altfel se trezeste cu masina intoarsa cum nu trebuie si asta ii poate crea probleme.
Reply
#3

am folosit teleportarea
Quote:

Am incercat cu setarea pozitiei la coordonatele cp...

voi incerca acum cu SetVehicleVelocity
Reply
#4

Se pare ca nici cu SetVehicleVelocity nu merge. Multumesc oricum!
Reply
#5

Quote:
Originally Posted by xXLucianXx
Посмотреть сообщение
Salutare! Am si eu o intrebare. Cum as putea sa fac ca la intrarea intr-un cp vehiculului sa i se seteze viteza 0?
Am nevoie de asta la un job la care trebuie sa astepti cateva secunde pe loc dupa ce ai luat cp'ul, insa daca am viteza, masina merge inainte. Am incercat cu setarea pozitiei la coordonatele cp , TogglePlayerControllable(playerid, 0) si un timer cu TogglePlayerControllable(playerid, 1) dupa 5 secunde insa nu merge..
Multumesc anticipat!

Noroc!
Poti incerca sa dezactivezi motorul pentru a se opri!
Astfel, playerul..., nu va putea misca vehicolul... .


stock ActivareMotor(vehicleid)
{
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(vehicleid, 1, lights, alarm, doors, bonnet, boot, objective);
}

stock DezactivareMotor(vehicleid)
{
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(vehicleid, 0, lights, alarm, doors, bonnet, boot, objective);
}
Reply
#6

Pai TogglePlayerControllable(playerid,0) are acelasi efect ca oprirea motorului si chiar si asa vehiculul merge din inertie apoi..
Reply
#7

Quote:
Originally Posted by shiftlol
Посмотреть сообщение
Noroc!
Poti incerca sa dezactivezi motorul pentru a se opri!
Astfel, playerul..., nu va putea misca vehicolul... .
Ideea e sa opresti miscarea vehiculului in mod fortat. Adica sa ingheti masina sa stea acolo unde e checkpoint-ul.
Pentru ca vehiculul in sine se poate deplasa la vale de exemplu cu motorul oprit.
Valoarea vitezei e una peste zero si in cazul ala.
Reply
#8

Quote:
Originally Posted by HeLiOn_PrImE
Посмотреть сообщение
Ideea e sa opresti miscarea vehiculului in mod fortat. Adica sa ingheti masina sa stea acolo unde e checkpoint-ul.
Pentru ca vehiculul in sine se poate deplasa la vale de exemplu cu motorul oprit.
Valoarea vitezei e una peste zero si in cazul ala.
pai daca pune SetTimerEx la dezactivare si activare la timpul sau dorit, pai va merge cred ca! imi pare ca si la vale merge masina daca pui SetVehicleVelocity(GetPlayerVehicleID(playerid), 0.0, 0.0, 0.0); ....nu am testat!
Reply
#9

Код:
public OnPlayerUpdate(playerid)
{
    if(IsPlayerInCheckpoint(playerid) && bSpeedFrozen[playerid] && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
        SetVehicleVelocity(GetPlayerVehicleID(playerid), 0.0, 0.0, 0.0);
}
Unde bSpeedFrozen spune daca masina ar trebui sa fie blocata sau nu.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)