Same problemy z tymi spadochronami
Moderator: Inkwizytor
Same problemy z tymi spadochronami
Witam!
Mam taki, pewnie dla większości znających się na rzeczy banalny problem ze spadochronami. A raczej dwa problemy. Chodzi o to, ze mam taki fragment skryptu:
_ktoleci = list wyzwalacz // sprawdza, kto jest w obrebie jakiegos tam wyzwalacza
_iluleci = count _ktoleci // sprawdza, ile to osob
_pozycja = [x,y,z] // nadaje jakies tam polozenie
{_para = "Parachute" createVehicle (_pozycja); _para setPos _pozycja; _x MoveInDriver _para} forEach _ktoleci
kod ten ma za zadanie (według mojego rozumowania) stworzyc tyle spadochronow ilu jest graczy w obrebie wyzwalacza i "pozapinac" ich tam na kierowcow. Jednak to nie działa i tylko osoba, ktora aktywuje cały skrypt rzeczywiscie jest przenoszona jak nalezy, stwarzana jest odpowiedna ilosc spadochronow, lecz pozostali gracze nie zostaja przeniesieni na kierowcow. Ma ktos pomysł, dlaczego tak sie dzieje? Słyszalem, ze to wina tego, ze cały czas jest ta sama nazwa spadochronu, ale według mnie to nie powinno przeszkadzac, a jezeli przeszkadza, to jak stworzyc dynamicznie zmieniajaca sie nazwe pojazdu?
I kolejny problem, moze troche mniej wazny, ale rownie irytujacy. Podczas tworzenia tych spadochronow wyswietla sie "Nie znaleziono potrzebnych dodatkow ble ble ble - caair. Wie ktos co to ma byc? Skads to trzeba sciagnac? Czy to wina gry, skryptu?
Mam taki, pewnie dla większości znających się na rzeczy banalny problem ze spadochronami. A raczej dwa problemy. Chodzi o to, ze mam taki fragment skryptu:
_ktoleci = list wyzwalacz // sprawdza, kto jest w obrebie jakiegos tam wyzwalacza
_iluleci = count _ktoleci // sprawdza, ile to osob
_pozycja = [x,y,z] // nadaje jakies tam polozenie
{_para = "Parachute" createVehicle (_pozycja); _para setPos _pozycja; _x MoveInDriver _para} forEach _ktoleci
kod ten ma za zadanie (według mojego rozumowania) stworzyc tyle spadochronow ilu jest graczy w obrebie wyzwalacza i "pozapinac" ich tam na kierowcow. Jednak to nie działa i tylko osoba, ktora aktywuje cały skrypt rzeczywiscie jest przenoszona jak nalezy, stwarzana jest odpowiedna ilosc spadochronow, lecz pozostali gracze nie zostaja przeniesieni na kierowcow. Ma ktos pomysł, dlaczego tak sie dzieje? Słyszalem, ze to wina tego, ze cały czas jest ta sama nazwa spadochronu, ale według mnie to nie powinno przeszkadzac, a jezeli przeszkadza, to jak stworzyc dynamicznie zmieniajaca sie nazwe pojazdu?
I kolejny problem, moze troche mniej wazny, ale rownie irytujacy. Podczas tworzenia tych spadochronow wyswietla sie "Nie znaleziono potrzebnych dodatkow ble ble ble - caair. Wie ktos co to ma byc? Skads to trzeba sciagnac? Czy to wina gry, skryptu?

Re: Same problemy z tymi spadochronami
Widze, ze coś nie macie pomysłu na tą przypadłośc, zupełnie zresztą jak ja.
Może jednak ktoś będzie wiedział, czy i jak można zrobic, aby jakis skrypt otwierał się na wszystkich komputerach klienckich, podczas gdy jest uruchamiany poprzez skrypt odpalany tylko na jednym komputerze?
Zadziała takie coś, ze na jednym komputerze daje (w skrypcie odpalanym tylko u jednego gracza):
zmienna = [] exec "skrypt.sqs"
a w pliku skrypt.sqs dam:
publicVariable "zmienna"
?
Prosze Was bardzo o pomoc.
Może jednak ktoś będzie wiedział, czy i jak można zrobic, aby jakis skrypt otwierał się na wszystkich komputerach klienckich, podczas gdy jest uruchamiany poprzez skrypt odpalany tylko na jednym komputerze?
Zadziała takie coś, ze na jednym komputerze daje (w skrypcie odpalanym tylko u jednego gracza):
zmienna = [] exec "skrypt.sqs"
a w pliku skrypt.sqs dam:
publicVariable "zmienna"
?
Prosze Was bardzo o pomoc.

- klamacz
- Posty: 818
- Rejestracja: 23 listopada 2006, 09:54
- ID Steam:
- Numer GG: 2019934
- ID gracza: 2320644
- Lokalizacja: Szczytno
- Kontakt:
Re: Same problemy z tymi spadochronami
a nie lepiej uruchamiac go na serwerze? jest chyba taka komenda isServer ...
z tym _para ktore sie powtarza dla wszystkich spadochronow, mozesz sprobowac napisac funkcje, ktora wywolasz
{costam_call "stworzParachuteDlaGracza(_x)"} forEach _ktoleci
wtedy wewnatrz funkcji masz pojedyncze uzycie _para , ktore jest lokalne i nie wychodzi na zewnatrz.
Zaznaczam, ze moja wiedza o skryptach arma jest znikoma
z tym _para ktore sie powtarza dla wszystkich spadochronow, mozesz sprobowac napisac funkcje, ktora wywolasz
{costam_call "stworzParachuteDlaGracza(_x)"} forEach _ktoleci
wtedy wewnatrz funkcji masz pojedyncze uzycie _para , ktore jest lokalne i nie wychodzi na zewnatrz.
Zaznaczam, ze moja wiedza o skryptach arma jest znikoma







Re: Same problemy z tymi spadochronami
Chodzi o to, ze ten skrypt dodaje jakąś tam akcje do menu akcji. W momencie, kiedy odpale skrypt na serwerze, to kazdy po podejsciu do tego goscia bedzie miał ta akcje (nie bedzie mogl jej uzyc, ale bedzie ja miał), a jak uruchomie skrypt tylko u tej osoby, to tylko ona ma ta akcje i nikt inny, ale chce, zeby ten skrypt był widoczny tylko dla tego gracza tylko do pewnego momentu
, potem chce, zeby sie stał niejako globalny... I tu jest problem.
A z tą funkcja... no tak w sumie to dobre, ale w zasadzie niczego to nie zmieni, moze skroci o jedna linijke kod, zasada dzialania natomiast nie zmieni sie wcale lub bardzo niewiele...

A z tą funkcja... no tak w sumie to dobre, ale w zasadzie niczego to nie zmieni, moze skroci o jedna linijke kod, zasada dzialania natomiast nie zmieni sie wcale lub bardzo niewiele...

Re: Same problemy z tymi spadochronami
zrzut spadochronowy zrobiłem u siebie tak (coop DS:Sabotage):
-jeden gość uruchamia skrypt, w którym publikowana jest wartość true dla zmiennej globalnej o nazwie ParaEnabled
-ParaEnabled jest wpisana jako warunek wyzwalacza aktywującego skrypt spadochronowy dla grupy
tresc skryptu:
gdzie zmienne para_x, para_y są zmiennymi globalnymi wyznaczonymi gdzie indziej
oczywiście dla siebie musialbys wyznaczyc inaczej tablicę _tab
-jeden gość uruchamia skrypt, w którym publikowana jest wartość true dla zmiennej globalnej o nazwie ParaEnabled
-ParaEnabled jest wpisana jako warunek wyzwalacza aktywującego skrypt spadochronowy dla grupy
tresc skryptu:
Kod: Zaznacz cały
_tab = [g1,g2,g3,g4,g5,g6];
_count = count _tab;
_class = "Parachute";
if( playerSide == resistance )then{ _class = "ParachuteG"; };
for[ {_i=0}, {_i<_count}, {_i=_i+1} ]do{
_jumper = _tab select _i;
if( (local _jumper) AND (not isNull _jumper) AND ((vehicle _jumper) == _jumper) )then
{
_para = createVehicle[_class, [para_x+(_i*20),para_y,50], [], 0, "FLY"];
_jumper moveInDriver _para;
};
sleep 0.5;
};
oczywiście dla siebie musialbys wyznaczyc inaczej tablicę _tab
Re: Same problemy z tymi spadochronami
Tak zrobiłem, z drobnymi modyfikacjami i niestety nie działa.
Może by przyczyną komplikacji to, że używam .sqs zamiast .sqf?
Może by przyczyną komplikacji to, że używam .sqs zamiast .sqf?


- Matte
- Posty: 805
- Rejestracja: 17 stycznia 2007, 12:20
- ID Steam:
- Numer GG: 3470353
- ID gracza: 2166020
- Lokalizacja: Sosnowiec
Re: Same problemy z tymi spadochronami
To musi byc w sqf'ie, przecież to co kondor Ci dał to sqfowska składnia.
Jestem BIS fanboyem!

FAQ:
Co zrobić gdy powiedzą coś złego o OFP:DR? DR nie żyje, a fani zapomnieli.
Co zrobić gdy powiedzą coś złego o ArmA II? - Do 1.96 jescze trochę brakuję...
All of BIS's programming is done by Ondrej's hair
Blogaska prowadzę, i gadam do mikrofonu w podcaście na matteprl.net


FAQ:
Co zrobić gdy powiedzą coś złego o OFP:DR? DR nie żyje, a fani zapomnieli.
Co zrobić gdy powiedzą coś złego o ArmA II? - Do 1.96 jescze trochę brakuję...
All of BIS's programming is done by Ondrej's hair
Blogaska prowadzę, i gadam do mikrofonu w podcaście na matteprl.net
Re: Same problemy z tymi spadochronami
Tak to wiem, ale ja porobiłem modyfikacje, zeby składnia wygladała jak ta z plikow sqs. Tylko czy np pewne komendy poprostu nie dzialaja w sqs czy cos takiego, o to mi raczej chodzi 

