Początkujący, od czego zacząć gdzie szukać?

Moderator: Inkwizytor

Awatar użytkownika
kondor
Posty: 1526
Rejestracja: 13 marca 2007, 11:50
ID Steam: Przemek_kondor
Kontakt:

Re: Początkujący, od czego zacząć gdzie szukać?

Post autor: kondor »

tylko 1 marker o nazwie, jak mniemam, respawn_vehicle_east i na jego pozycji będą sie respawnować wszstykie pojazdy ruskie, dla których użyto komendy respawnVehicle. Jednakże w odpowiednim momencie, czyli chwilę po ich respawnie, możesz je ustawić. Po pierwsze w init.sqs zapamiętaj sobie ich pozycje oraz kierunek, czyli:

Kod: Zaznacz cały

kierunek1 = getDir poj1;
kierunek2 = getDir poj2;
...itd
poz1 = getPos poj1;
poz2 = getPos poj2;
...itd
Następnie musisz wychwycić moment, kiedy się zrespawnują. Zakładam, że dopiero jak zostaną zniszone? Jeśli tak to dla każdego wozu stwórz wyzwalacz aktywowany ciągle (w kółko, wielokrotnie, czy tam jak to się nazywa), daj im w warunku aktywacji:

Kod: Zaznacz cały

(getDammage pojX)> 0.9 
a w polu aktywacji:

Kod: Zaznacz cały

wskaznik_niewiadomoczemupotrzebny = [pojX,X] exec "ustawiasz.sqs"
a w tym skrypcie:

Kod: Zaznacz cały

;5 sekund na respawn+ chwilka dla pewności, czyli:
~7
?(X==1):_dir = kierunek1; _pos = poz1
?(X==2):_dir = kierunek2; _pos = poz2
...itd
_pojazd = _this select 0
_pojazd setDir _dir
_pojazd setPos _pos
a z radiem to nie wiem. jutro pomysle
Ostatnio zmieniony 04 lutego 2008, 01:09 przez kondor, łącznie zmieniany 2 razy.
Rychu
Posty: 14
Rejestracja: 17 lipca 2007, 23:50
ID Steam:

Re: Początkujący, od czego zacząć gdzie szukać?

Post autor: Rychu »

Chyba sie pomyliles
plik init

Kod: Zaznacz cały

kierunek1 = getDir poj1;
kierunek2 = getDir poj2;
pozycja1 = getPos poj1;
pozycja2 = getPos poj2;
Teraz ten wyzwalacz ma obejmowac cala mape ? Czy moze byc maly i byle gdzie ?
W warunku kasuje this i daje

Kod: Zaznacz cały

(getDammage pojX)> 0.9
Klikam ok i wyzwalacz jest ale jezeli dodam w poluaktywacji

Kod: Zaznacz cały

Wskaznikpojazdy = [pojX,X] exec "pojazdy.sqs"
to wyskakuje blad:
Typ nic, potrzebny dowolny.
Sam plik pojazdy.sqs
ma wygladac tak ????

Kod: Zaznacz cały

~7
?(X==1):_dir1 = kierunek1; _pos1 = pozycja1
?(X==2):_dir2 = kierunek2; _pos2 = pozycja2

_poj1 = _this select 0
_poj1 setDir _dir1
_poj1 setPos _pos1

_poj2 = _this select 0
_poj2 setDir _dir2
_poj2 setPos _pos2
Awatar użytkownika
kondor
Posty: 1526
Rejestracja: 13 marca 2007, 11:50
ID Steam: Przemek_kondor
Kontakt:

Re: Początkujący, od czego zacząć gdzie szukać?

Post autor: kondor »

nie pomylilem sie tylko nie wiedzialem ile bedziesz miec pojazdow dlatego napisalem "...itd"

co do wyzwalaczy to niedopowiedzialem: zamiast X wstaw 1 w 1. wyzwalaczu i 2 w 2.
bo potrzebujesz oddzielnych wyzwalaczy do wykrycia zniszczenia każdego z pojazdów. Ich wielkość i pozycja jest nieistotna.
czyli w 1. wyzwalaczu:

Kod: Zaznacz cały

(getDammage poj1)> 0.9

Kod: Zaznacz cały

Wskaznikpojazdy = [poj1,1] exec "pojazdy.sqs"
natomiast sam skrypt jest jeden i wspolny o treści dokladnie takiej jak napisałem (poprawiłem bug) i oczywiście bez linijki "...itd" oraz nie może być poz1 i pozycja1 - musisz wybrać wspólną wersję dla tego skryptu i init.sqs
Rychu
Posty: 14
Rejestracja: 17 lipca 2007, 23:50
ID Steam:

Re: Początkujący, od czego zacząć gdzie szukać?

Post autor: Rychu »

Radio cos pokombinowalem jakos dziala ;). Do respawnu uzylem innego skryptu jest bardziej rozbudowany ale troche nie tak dziala mianowicie np jak pojazdy stoja w hangarze i respawnuja sie to slabo chca stawac na tym samym miejscu, lepiej jest z pojazdami na zewnarz ale z tego co widze to nie moga stac zbyt blisko siebie. Moglbys zobaczyc ten skrypt bo w sumie ja nie mam pomyslu a moze sie nie da tego tak ustawic?
Plik respawn_vehicle.sqs

Kod: Zaznacz cały

? !(local server) : exit

_vehicle = vehicle _this
_startpos = getpos _vehicle
_direction = getdir _vehicle
_typ = typeOf _this

#loop
~10
? (getdammage _vehicle > 0.98) : goto "checkdamage"
? !(canMove _vehicle) : goto "checkmove"
? (fuel _vehicle == 0) : goto "checkfuel"
goto "loop"

#checkdamage
~10
? (getdammage _vehicle > 0.98) : goto "destruct"
goto "loop"

#checkmove
~10
? (getdammage _vehicle == 1) : goto "destruct"
~120
? (canMove _vehicle) : goto "loop"
goto "destruct"

#checkfuel
~10
? (getdammage _vehicle == 1) : goto "destruct"
~120
? (fuel _vehicle > 0) : goto "loop"
goto "destruct"


#destruct
? (getdammage _fahrzeug > 0.9) : goto "respawn";deleteVehicle _Fahrzeug;
~30
deletevehicle _vehicle
goto "createnew"

#createnew
~10
_new = _typ createVehicle [_startpos select 0, _startpos select 1,0]
_new setdir _direction
_new exec "respawn_vehicle.sqs"

exit
A do pojazdu wpisuje (w miejsce uruchom)

Kod: Zaznacz cały

this exec "respawn_vehicle.sqs"
Hmm tez kombinuje z komenda createVehicle ale mialo by to wygladac tak ze pojazd sie pokazuje i ma wpisana opcje this exec "respawn_vehicle.sqs" zeby mogl pokazywac sie jeszcze raz, jak moge odczytac pozycje postawionego samochodu ?
ODPOWIEDZ

Wróć do „Edytor - tworzenie misji, skrypty oraz programowanie”