Moim celem jest stworzenie tempomatu , dzięki któremu dopasujemy prędkość pojazdu do prędkości piechoty z desantu pojazdu.
Przykład : piechota porusza się z podniesioną bronią przy osłonie pojazdu, żeby zachować formację samochód musi jechać ze stałą prędkością 5km/h.
W tym celu posłużyłem się skryptem limitującym prędkość przy pomocy algorytmu :
Kod: Zaznacz cały
//////////////////////////////////////////////////////////////////
// Function file for Armed Assault
// Created by: kylania
//////////////////////////////////////////////////////////////////
// Call this with the following line in the init field of the vehicle.
// this = object to slow.
// 60 = max speed for vehicle.
//
// = [this, 60] execVM "speedlimit.sqs";
// Pull the object and speed from the execVM.
_vehicle = _this select 0;
_maxspeed = _this select 1;
// Figure current speed.
_curspeed = speed _vehicle;
// If we're going to fast...
if (_curspeed > _maxspeed) then {
// Grab the current velocity and direction of the vehicle.
_vel = velocity _vehicle;
_dir = direction _vehicle;
// Limit it's to bring it back down to the max amount.
_speed = _curspeed - _maxspeed;
// This is math I don't understand, grabbed it from the biki. :)
_vehicle setVelocity [(_vel select 0)-(sin _dir*_speed),(_vel select 1)- (cos _dir*_speed),(_vel select 2)];
}; // End of if
// Sleep tenth of a second, this might be too much processing. I dunno, slower and the ride get jerkier though.
sleep 0.01;
// Call the script again.
_null = [_vehicle, _maxspeed] execVM "speedlimit.sqs";
Tempomat ma posiadać różne wartości limitu (5km/h dla marszu, 13km/h dla szybkiego chodu) i wyzerowanie limitera.
Funkcję realizuję przy pomocy addaction odwołujących się do .sqs z odpowiednimi wartościami funkcji, na przykład:
Kod: Zaznacz cały
_speed = [c1, 100] execVM "speedlimit.sqs";
Skrypt przy zmianie wartości prędkości nakłada się jeden na drugi. Próbowałem z terminate i exit , ale mi nie wychodzi.
Szczerze mówiąc w skryptach jestem zielony i nie wiele potrafię zrobić.
Czego szukam:
Potrzebuje wiedzieć , w jaki sposób wyłączę wcześniejsze uruchomienia speedlimit, lub w jaki sposób nadać wartościom stałych w speedlimit.sqs wartości zmiennej , edytowanych przy pomocy sqs