Skocz do zawartości
sabaru

Przelatywanie obiektu przez różne punkty.

Rekomendowane odpowiedzi

Chciałbym aby pewien obiekt leciał z punkt A do B i w punkcie B zatrzymał się np. na 1 minutę. Potem automatycznie sam leciał do punkt C i gdy doleci do punktu C znowu zatrzymał się na jedną minutę i tak dalej i gdy przeleci przez wszystkie wyznaczone punkty chciałbym żeby wrócił do punktu A i potem znowu leciała przez te same wyznaczone punkty i tak w kółko. Umiem zrobić żeby obiekt leciał z punktu A do B ale żeby leciał sam do C to już nie. Może podpowie ktoś jak taką pętle zrobić?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ja osobiście nie znam się na tym programowaniu, ale na chłopski rozum widzę to tak. Jak umiesz zrobić z punktu A do punktu B, to musiałbyś użyć funkcji która sprawdza czy dany obiekt doleciał, jeśli tak to odczekuje dany czas, a jak ten czas się skończy to wywołuje funkcje taką samą jak A do B tyle że B do C. 

Może do Ci coś da, ale tak jak mówię, od strony zaprogramowania tego jestem zielony.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie rozumiem co jest tutaj większym problemem. Wszystko wygląda tak samo jak w przypadku ruchu między 2 punktami. Pobierasz jeden punkt, poruszasz obiekt do tego punktu, potem kolejny i jeszcze raz kolejny. I tak w kółko.
Tak na szybko nasmarowałem kod, możesz zobaczyć jak działa i sobie wziąć. Jak coś będzie niezrozumiałe to wyjaśnię.

local obj;
local actualPoint = 1;
local waypoints = {
    {x = 5, y = 0, z = 4, time = 1000, wait = 10000},
    {x = 4, y = 4, z = 4, time = 1000, wait = 10000},
    {x = -4, y = -4, z = 4, time = 1000, wait = 10000}
};

function move ()
    local point = waypoints[actualPoint];
    moveObject(obj, point.time, point.x, point.y, point.z);
    actualPoint = actualPoint + 1;
    if actualPoint > #waypoints then
        actualPoint = 1;
    end
    setTimer(move, point.wait+point.time, 1);
end

function start ()
    obj = createObject(1337, 0, 0, 4);
    move();
end
addEventHandler('onResourceStart', root, start);

 

 

 

Edytowane przez RJ45

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×