[Skrypty] Ustawienie widoczności i detali u klienta

Moderator: Inkwizytor

Awatar użytkownika
Cooba
Posty: 65
Rejestracja: 13 grudnia 2006, 23:21
ID Steam:

[Skrypty] Ustawienie widoczności i detali u klienta

Post autor: Cooba »

Ktoś wie może jak na serwerze dedykowwanym odpalać skrypt WYŁĄCZNIE po stronie klienta. Chce w ten sposób zrobić ustawienia widoczności i detali terenu tylko po stronie klienta, aby osoby ze słabszymi kompami mogły sobie co nieco poograniczać nie zmieniając ustawien globalnych - w końcu niektórzy mają mocne kompy i chcieliby mieć trawke itp :)

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

Re: Arma SKRYPTY

Post autor: kondor »

z tego, co mi wiadomo komendy zmieniajace widocznosc i trawe dzialaja lokalnie;
moznaby zrobic wiec jakies wiadome miejsce (jakies centrum dowodzenia) w ktorym jest wyzwalacz, aktywowany stroną graczy o polu "przy aktywacji" takim:
(w armie nie bardzo dziala this list select 0, trzeba nazwac wyzwalacz, np setting_trigger)

Kod: Zaznacz cały

person = (list setting_trigger) select 0; v800 = person addAction ["set 800","set800.sqf"]; v1200 = person addAction ["set 1200","set1200.sqf"]; disGrass = person addAction["disable grass", "disable_grass.sqf"];
a w polu "przy dezaktywacji":

Kod: Zaznacz cały

person removeAction v800; person removeAction v1200;person removeAction disGrass;
a skrypty:

Kod: Zaznacz cały

//v800
setViewDistance 800;
if (true) exitWith {};
//i analogincznie 1200

Kod: Zaznacz cały

//no grass
setterraingrid 50.0;
if (true) exitWith {};
Ostatnio zmieniony 26 czerwca 2007, 11:46 przez kondor, łącznie zmieniany 1 raz.
gremdek
Posty: 261
Rejestracja: 13 grudnia 2006, 16:53
ID Steam:

Re: Arma SKRYPTY

Post autor: gremdek »

nie rozumiem zbytnio idei tego wyzwalacza, bo jeśli dodamy akcje do jakiegoś obiektu to jest ona dostępna na pewne odległości. zresztą masz tam osobę wybraną z numerem 0 która dostanie tą akcję, niekoniecznie będzie to gracz, zwłaszcza jeśli trigger ma duże rozmiary.
takie zabawy z triggerami to można jeśli ktoś chce kwadratowe pole wyboru akcji może, ale po co to nie wiem...
cfog skończył się na kill'em all
Awatar użytkownika
kondor
Posty: 1526
Rejestracja: 13 marca 2007, 11:50
ID Steam: Przemek_kondor
Kontakt:

Re: Arma SKRYPTY

Post autor: kondor »

wyzwalacz jest aktywowany np przez west. jak jakis amerykanin wejdzie w jego obszar wtedy u wszystkich sie aktywuje wyzwalacz , ale akcje dostanie tylko 1 osoba - pojawia mu sie 3 akcje, dzieki ktorym bedzie mogl sobie zmienic widocznosc lub wylaczyc trawę. Jak wyjdzie z obszaru tego wyzwalacza, to akcje mu znikną. Ten sposob doda akcje tylko jednej osobie, zeby dodal wszystkim, ktorzy sa w jego obrebie trzeba dodac je wszystkim jednostkom bedacym w tablicy (list setting_trigger)
//przepraszam, zrobilem blad w poprzednim poscie - zapomnialem dodac list, wiec powinno byc:

Kod: Zaznacz cały

... (list setting_trigger select 0)...
(juz poprawilem wyzej)
w sumie ciekawe, czy takiego wyzwalacza nie aktywuje rowniez pusty amerykanski czolg, dlatego poradzilem, zeby bylo to dobrze znane miejsce, jakies centrum sterownia, czyli jakis maly trudno dostepny obszar, najlepiej w jakims namiocie lub budynku. wyzwalacz, oczywiscie, aktywowany cyklicznie
Awatar użytkownika
Cooba
Posty: 65
Rejestracja: 13 grudnia 2006, 23:21
ID Steam:

Re: Arma SKRYPTY

Post autor: Cooba »

OK. W Edytorze skrypt działa poprawnie jednak wymagany jest test na dedyku. Sprawdze dziś wieczorem. jakie by tam nie były rezultaty to bardzo dziękuje za pomoc kondor :)
gremdek
Posty: 261
Rejestracja: 13 grudnia 2006, 16:53
ID Steam:

Re: Arma SKRYPTY

Post autor: gremdek »

kondor pisze:wyzwalacz jest aktywowany np przez west. jak jakis amerykanin wejdzie w jego obszar wtedy u wszystkich sie aktywuje wyzwalacz , ale akcje dostanie tylko 1 osoba - pojawia mu sie 3 akcje, dzieki ktorym bedzie mogl sobie zmienic widocznosc lub wylaczyc trawę. Jak wyjdzie z obszaru tego wyzwalacza, to akcje mu znikną. Ten sposob doda akcje tylko jednej osobie, zeby dodal wszystkim, ktorzy sa w jego obrebie trzeba dodac je wszystkim jednostkom bedacym w tablicy (list setting_trigger)
//przepraszam, zrobilem blad w poprzednim poscie - zapomnialem dodac list, wiec powinno byc:

Kod: Zaznacz cały

... (list setting_trigger select 0)...
(juz poprawilem wyzej)
w sumie ciekawe, czy takiego wyzwalacza nie aktywuje rowniez pusty amerykanski czolg, dlatego poradzilem, zeby bylo to dobrze znane miejsce, jakies centrum sterownia, czyli jakis maly trudno dostepny obszar, najlepiej w jakims namiocie lub budynku. wyzwalacz, oczywiscie, aktywowany cyklicznie
trigger dajmy na to ma wymiary 50x50. na jednym końcu wejdzie amerykaniec i na drugim. jeden dostanie a drugi nie skorzysta bo za daleko.
kiedyś testowałem addaction, strefa widoczności akcji(tam gdzie się pojawia w menu) to kula o promieniu nie pamiętam już ile. I dlatego uważam że robienie zabawy z tym triggerem to niepotrzebne utrudnianie i zaśmiecanie mapy w edytorze.
cfog skończył się na kill'em all
Awatar użytkownika
Cooba
Posty: 65
Rejestracja: 13 grudnia 2006, 23:21
ID Steam:

Re: Arma SKRYPTY

Post autor: Cooba »

Ja mysle ze to dobry pomysl. Jak ty byś to Gremdek rozwiązał?
Poza tym, jeżeli wyzwalacz na WEST stanowiłby jakis problem, to zawsze mozna zrobić dla każdej postaci gracza osobny wyzwalacz i już.
Awatar użytkownika
kondor
Posty: 1526
Rejestracja: 13 marca 2007, 11:50
ID Steam: Przemek_kondor
Kontakt:

Re: Arma SKRYPTY

Post autor: kondor »

namiot nie ma rozmiarow 50x50 tylko 4x3. Nazywanie takiego wyzwalacza "zasmiecaniem" jest raczej naduzyciem. Koszt malego cyklicznego wyzwalacza jest porownywalny z eventhandlerem.
Opcja z wyzwalaczem pozwala na zmiane ustawien w dowolnym momencie. Mozna rowniez to zrobic, np wywolujac w init.sqf skrypt ktory bedzie czekal jakis krotki czas dajac w.w. akcje, a po tym czasie je zabierze:

Kod: Zaznacz cały

//init.sqf
...
[] execVM "dodawacz_akcji_zmian.sqf";
...

Kod: Zaznacz cały

//dodawacz_akcji_zmian.sqf
a1 = player addAction ...
...
aN = player addAction ...
sleep 20;
player removeAction a1;
...
player removeAction aN;
if (true) exitWith {};
Awatar użytkownika
Grey
Posty: 104
Rejestracja: 12 lutego 2007, 15:24
ID Steam:

Re: Arma SKRYPTY

Post autor: Grey »

Poczekaj. Ale addaction dziala lokalnie, nie?

Wydaje mi sie na logike ze stawiajac trigger PRESENT WEST (powtarzalny!) i stawiajac w warunku
player in thislist
czyli jesli player jest WEST i jest w obrebie triggera
to odpala sie skrypt
player addaction itd.

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

Re: Arma SKRYPTY

Post autor: kondor »

@Grey:
-prawie kazde polecenie dziala lokalnie, addAction tez.
-do linijki warunku musisz jeszcze dodac slownko this, poza tym (list this) w armie slabo lub w ogole nie dziala, czyli powinno byc: (this) AND (player in (list setting_trigger))
Awatar użytkownika
Grey
Posty: 104
Rejestracja: 12 lutego 2007, 15:24
ID Steam:

Re: Arma SKRYPTY

Post autor: Grey »

Co znaczy slabo lub w ogole?
Przed chwila uzylem i dziala, wiec nie bardzo rozumiem.
Poza tym ja uzylem thislist ktoree jest tym samym co

Kod: Zaznacz cały

list NazwaTriggera
i moze byc uzyta tylko w polu Activation ( http://community.bistudio.com/wiki/this )
ODPOWIEDZ

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