Witam! Mam trochę złożony problem i nie mam pojęcia jak go rozwiązać. Chciałem mojemu bratu zrobić prostą misję, żeby nauczył się latać śmigłowcem na małej wysokości, bo ma tendencję do latania dość wysoko. Czy jest jakiś sposób aby żołnierz (Ai) strzelał do śmigłowca tylko i wyłącznie wtedy gdy śmigłowiec pilotowany przez osobę osiągnie wysokość większą niż np 150m?
Przegrzebałem sieć ale z sił juz opadam... Wymyśliłem (nie znając się na skryptach ), że zastosuje coś takiego...
skrypt1.sqf
if ((getPos heli select 2) >100) then
{
strzal=true
};
w init.sqf dałem strzal=false
a strzal.sqf (powodujący uszkodzenie tylnego rotora) wygląda tak (bezposrednio z jakiegos skryptu z netu- działa):
-----------------------------------------------------------------------
_bombLoc = getPosATL heli;
_warhead = createVehicle ["Sh_125_HE", _bombLoc, [], 0, "CAN_COLLIDE"];
_holder = createVehicle ["weaponHolder", _bombLoc, [], 0, "CAN_COLLIDE"];
_warhead setPosATL (getPosATL _holder);
heli setHit ["mala vrtule", 0.95];
-------------------------------------------------------------------------
Problem polega na tym, że "skrypt1.sqf" nie działa,
ShowscriptErrors pokazuje mi:
if ((/#/getPos heli select 2) >100) then
{
...
Error getPos Type Script, Expected object, Location.
Bardzo proszę o pomoc, siedzę od kilku godzin , nie mam pojęcia o skryptach więc próbuję na podstawie innych coś zdziałać z miernym skutkiem jak widać.
aktualizacja
skrypt1.sqf
--------------------------------------------------------------
if((getPosAsl heli select 2) > 45) then
{
hint format ["jestes za wysoko. (%1)",floor(getPos heli select 2)];
}
-----------------------------------------------------------------------------------------------
Dziwna sprawa. Ustawiłem heli w powietrzu. Jak wiadomo domyślnie jest na wysokości ok 48-50m. I o dziwo skrypt zadziałał... ale jak wpisuję wartość wyższą np 51m to już nie.
Tak jakby działał tylko po włączęniu gry i natychmiast się wyłączał. Zrobiłem wyzwalacz 5000x5000, uruchamia go moj smigłowiec, włączyłem funkcję powtarzania i w On act. wpisałem Nul = [] execVM "skrypt1.sqf"ale to nic nie zmienia. Skrypt działa tylko gdy przy włączeniu gry jest juz spełniony (czyli poniżej 47m).
Czy ktoś wie o co chodzi?
Przegrzebałem sieć ale z sił juz opadam... Wymyśliłem (nie znając się na skryptach ), że zastosuje coś takiego...
skrypt1.sqf
if ((getPos heli select 2) >100) then
{
strzal=true
};
w init.sqf dałem strzal=false
a strzal.sqf (powodujący uszkodzenie tylnego rotora) wygląda tak (bezposrednio z jakiegos skryptu z netu- działa):
-----------------------------------------------------------------------
_bombLoc = getPosATL heli;
_warhead = createVehicle ["Sh_125_HE", _bombLoc, [], 0, "CAN_COLLIDE"];
_holder = createVehicle ["weaponHolder", _bombLoc, [], 0, "CAN_COLLIDE"];
_warhead setPosATL (getPosATL _holder);
heli setHit ["mala vrtule", 0.95];
-------------------------------------------------------------------------
Problem polega na tym, że "skrypt1.sqf" nie działa,
ShowscriptErrors pokazuje mi:
if ((/#/getPos heli select 2) >100) then
{
...
Error getPos Type Script, Expected object, Location.
Bardzo proszę o pomoc, siedzę od kilku godzin , nie mam pojęcia o skryptach więc próbuję na podstawie innych coś zdziałać z miernym skutkiem jak widać.
aktualizacja
skrypt1.sqf
--------------------------------------------------------------
if((getPosAsl heli select 2) > 45) then
{
hint format ["jestes za wysoko. (%1)",floor(getPos heli select 2)];
}
-----------------------------------------------------------------------------------------------
Dziwna sprawa. Ustawiłem heli w powietrzu. Jak wiadomo domyślnie jest na wysokości ok 48-50m. I o dziwo skrypt zadziałał... ale jak wpisuję wartość wyższą np 51m to już nie.
Tak jakby działał tylko po włączęniu gry i natychmiast się wyłączał. Zrobiłem wyzwalacz 5000x5000, uruchamia go moj smigłowiec, włączyłem funkcję powtarzania i w On act. wpisałem Nul = [] execVM "skrypt1.sqf"ale to nic nie zmienia. Skrypt działa tylko gdy przy włączeniu gry jest juz spełniony (czyli poniżej 47m).
Czy ktoś wie o co chodzi?