Teraz jest So 18 kwi, 2026 15:10


Skrypt przemieszczania po osiągnięciu odpowiedniej prędkości

Archiwum działów sekcji Operation Flashpoint
  • Autor
  • Wiadomość
Offline
Avatar użytkownika

alderous

Pułkownik

Pułkownik

  • Posty: 1784
  • Dołączył(a): Cz 19 sie, 2004 13:20
  • Lokalizacja: Łódź

PostPt 18 lis, 2005 16:22

Oscypek napisał(a):Nie ma Polaka?

Jak nie jak jest :) Na pewno jest wielu takich...

Zrobiłbym coś takiego tylko nie wiem jak to powinno wyglądać...rozwijane menu...przyciski...wpisanie godziny w takim pasku...bo głębszym namyśle to nie jest takie trudne :)


Wprost pchają się drzwiami i oknami :D

W każdym razie zrób - to byłoby coś ciekawego.

PS Mimo wszystko uważam że to jest trudne
Offline

Oscypek

Major

Major

  • Posty: 858
  • Dołączył(a): Pn 01 lis, 2004 12:12
  • Lokalizacja: Maków Podhalański

PostPt 18 lis, 2005 16:42

Nie ma problemu :)

Zrobiłem to teraz na szyko, więc efekt jest troche brzydki ale nad designem popracować można :D

Skiptime.sqs . W inicjacji np: można taki wstawić: [] exec "skiptime.sqs"
Kod: Zaznacz cały
_ok = createDialog "skip_time"
?!(_ok) : hint "Error";exit

@skip_time_dialog_end

exit


Do wklejenia w description.ext:
Kod: Zaznacz cały
#define ST_LEFT      0
#define ST_RIGHT     1
#define ST_CENTER    2
#define ST_MULTI        16
#define ST_SHADOW       256
#define ST_NO_RECT      512
#define CT_STATIC    0
#define ST_PICTURE   48
#define FontM "tahomaB36"
#define FontHTML "CourierNewB64"
#define CT_ACTIVETEXT 11
#define CT_BUTTON   1
#define ST_FRAME   64
#define CT_EDIT    2
#define CT_COMBO                 4
#define CT_LISTBOX               5
#define CT_SLIDER     3
#define ST_HPOS       0x0F

class RscText
{
        type = CT_STATIC;
        idc = -1;
        style = ST_LEFT;
        colorBackground[] = {0, 0, 0, 0};
        colorText[] = {1, 1, 1, 1};
        font = FontM;
        sizeEx = 0.04;
};

class RscPicture
{
        type = CT_STATIC;
        idc = -1;
        style = ST_PICTURE;
        colorBackground[] = {0, 0, 0, 0};
        colorText[] = {1, 1, 1, 1};
        font = FontM;
        sizeEx = 0.04;
};

class RscActiveText
{
        type = CT_ACTIVETEXT;
        idc = -1;
        style = ST_LEFT;
        color[] = {1, 1, 1, 1};
        colorActive[] = {1, 0, 0, 1};
        font = FontM;
        sizeEx = 0.04;
        soundEnter[] = {"ui\ui_over", 0.2, 1};
        soundPush[] = {, 0.2, 1};
        soundClick[] = {"ui\ui_ok", 0.2, 1};
        soundEscape[] = {"ui\ui_cc", 0.2, 1};
        default = false;
};

class RscButton
{
        type = CT_BUTTON;
        idc = -1;
        style = ST_CENTER;
        colorText[] = {0, 0, 0, 1};
        font = FontHTML;
        sizeEx = 0.025;
        soundPush[] = {, 0.2, 1};
        soundClick[] = {"ui\ui_ok", 0.2, 1};
        soundEscape[] = {"ui\ui_cc", 0.2, 1};
        default = false;
};

class RscFrame
{
        type = CT_STATIC;
        idc = -1;
        style = ST_FRAME;
        colorBackground[] = {0, 0, 0, 0};
        colorText[] = {1, 1, 1, 1};
        font = FontM;
        sizeEx = 0.04;
};

class RscEdit
{
       type = CT_EDIT;
       idc = -1;
       style = ST_LEFT;
       font = FontHTML;
       sizeEx = 0.02;
       colorText[] = {0, 0, 0, 1};
       colorSelection[] = {0.5, 0.5, 0.5, 1};
       autocomplete = false;
       text = ;
};

class RscLB_C
{
        style = ST_LEFT;
        idc = -1;
        colorSelect[] = {0.4, 0.4, 0.4, 1};
        colorSelectBackground[] = {0.2, 0.2, 0.2, 1};
        colorText[] = {0.2, 0.2, 0.2, 1};
        colorBackground[] = {0.4, 0.4, 0.4, 1};
        font = FontHTML;
        sizeEx = 0.025;
        rowHeight = 0.04;
};

class RscListBox: RscLB_C
{
        type = CT_LISTBOX;
};

class RscCombo: RscLB_C
{
        type = CT_COMBO;
        wholeHeight = 0.3;
};

class RscSliderH
{
            type = CT_SLIDER;
            style = ST_HPOS;
            color[] = {0.2, 0.2, 0.2, 1};
            idc = -1;
            sizeEx = 0.025;
};

class skip_time
{
  idd = 00100;
  movingEnable = true;
  controlsBackground[] = {backg, frame};
  objects[] = { };
  controls[] = {slider, guzik};

  class backg: RscText
  {
     colorBackground[] = {0.4, 0.4, 0.4, 0.75};
     text = ;
     x = 0.0125;
     y = 0.02534;
     w = 0.18125;
     h = 0.23392;
  };
 class frame : RscText
 {
  x = 0.0125
  y = 0.02534
  idc = -1
  w = 0.18125
  h = 0.23392
  style = ST_FRAME
  colorText[] = {0, 0, 0, 1};
  colorBackground[] = {0.4, 0.4, 0.4, 0.75};
  SizeEX = 0.025
 text = "Skip Time"
  };
 class slider : RscSliderH
 {
  x = 0.02
  y = 0.1
  idc = 00101
  w = 0.15
  h = 0.04
  style = ST_HPOS
  colorText[] = {0.2, 0.2, 0.2, 1};
  SizeEX = 0.025
  };
 class guzik : RscButton
 {
  x = 0.02
  y = 0.2
  idc = 00102
  w = 0.16
  h = 0.04
  style = ST_CENTER
  colorText[] = {0, 0, 0, 1};
 font = "CourierNewB64"
  SizeEX = 0.025
 text = "OK"
 action = "skip_hour=sliderPosition 00101;skip_time_dialog_end=true;closeDialog 00100"
 default = false
  };
};



I zmieniony lekko skrpyt script.sqs:
Kod: Zaznacz cały

onMapSingleClick {}
_pos = _this select 0
_unit = _this select 1

@(speed _unit >= 190)
 
titletext[" ","WHITE OUT",.1]
~.01
skipTime skip_hour
_unit setpos _pos
~.01
titletext[" ","WHITE IN",.1]

exit


I pozatym wszystko jest tak jak w pierwszym poście :]

Jakby co...to mam jeszcze w wersji rar...nie chciało mi się do pbo zapisywać :)
http://mpsg.boo.pl/files/humve.Intro.rar
Offline
Avatar użytkownika

Jon

Generał

Generał

  • Posty: 10721
  • Dołączył(a): Wt 20 lip, 2004 00:43
  • Lokalizacja: Kraków

PostPt 18 lis, 2005 18:01

Oscypie... mówiłem Ci już, że mnie przerażasz? :lol:
http://www.pajacyk.pl

“Politics is supposed to be the second oldest profession. I have come to realize that it bears a very close resemblance to the first.”
~ Ronald Reagan
Offline

Oscypek

Major

Major

  • Posty: 858
  • Dołączył(a): Pn 01 lis, 2004 12:12
  • Lokalizacja: Maków Podhalański

PostPt 18 lis, 2005 18:16

Czego ty chcesz :?


[Emotinka na zawsze :czarodziej: ]
Offline
Avatar użytkownika

alderous

Pułkownik

Pułkownik

  • Posty: 1784
  • Dołączył(a): Cz 19 sie, 2004 13:20
  • Lokalizacja: Łódź

PostPt 18 lis, 2005 19:02

Slider? Może to i lepsze, ale buttony z cyframi umożliwiały by wprowadzenie dowolnej wartości liczbowej.

W każdym razie gratuluję umiejętności (Vektorboson tutorial?) i nadal uważam że to nie jest łatwe. Jeśli sądzisz inaczej to obejrzyj sobie przykład SOW Dynamic Dialog v1 Crashdome'a (też jest na ofpec) :]
Offline

Oscypek

Major

Major

  • Posty: 858
  • Dołączył(a): Pn 01 lis, 2004 12:12
  • Lokalizacja: Maków Podhalański

PostPt 18 lis, 2005 20:19

Eee...nie...ale zresztą buttony byłby łatwiejsze do zrobienia...z sliderem jest możliwość tylko do 10.

Jeśli chodzi o SOW Dynamic Dialog v1 - niestety za dobry w skryptach nie jestem, a to jeszcze pliki sqf :D

[Emotinka na zawsze :czarodziej: ]

Jerry: Skoro taki czarodziej jesteś, to wyczaruj nam coś zaskakującego :P A jak nie, to konfiskuję tą emotkę na zawsze :twisted:
Offline
Avatar użytkownika

Grabarz^^

Chorąży

Chorąży

  • Posty: 224
  • Dołączył(a): Pn 19 lip, 2004 23:59
  • Lokalizacja: Darłowo

PostSo 19 lis, 2005 20:10

Dzięki chłopaki, pobawię się tym...szkoda że moja wiedza skryptowa jest tak mała, bo chętnie ubrałbym te "skoki" w jakąś fajną szatę graficzną (tak, to jest wzorowane na Back To The Future), np. błysk przy "skoku" jak przy wybuchu granatu (widoczny dla tego kto patrzy "z zewnątrz")...kto oglądał to wie o co mi chodzi :) No cóż, podłubię coś sam ale rewelacji nie oczekuję :]
Offline

Oscypek

Major

Major

  • Posty: 858
  • Dołączył(a): Pn 01 lis, 2004 12:12
  • Lokalizacja: Maków Podhalański

PostSo 19 lis, 2005 20:45

Błysk jeśli ktoś jest z zewntąrz?

Kod: Zaznacz cały
onMapSingleClick {}
_pos = _this select 0
_unit = _this select 1

@(speed _unit >= 190)
 
? !(player in _unit  && player distance _unit <= 800) : titletext[" ","WHITE OUT",.1]
~.01
skipTime skip_hour
_unit setpos _pos
~.01
? !(player in _unit && player distance _unit <= 800) : titletext[" ","WHITE IN",.1]

exit


Byłoby to do trybu SP. Jeśli gracz nie jest w pojeździe i znajduje się do 800m w okolicy pojazdu to mamy błysk. Coś takiego chyba


[Moja emotka <censored by Jerry> , sio Jerry]
Offline
Avatar użytkownika

Grabarz^^

Chorąży

Chorąży

  • Posty: 224
  • Dołączył(a): Pn 19 lip, 2004 23:59
  • Lokalizacja: Darłowo

PostSo 19 lis, 2005 20:59

Nie...nie dokładnie o to mi chodzi...to nie ma się wybielić ekran jak przy wybuchu jądrowym...to ma być byłsk w momencie skoku, rozbłysk światła w konkretnym miejscu...jak to pokazać...chodzi mi o taki błysk jak np. wybucha granat, jakby się jakiś portal, teleport otwierał na sekundę...nie wiem jak to zobrazować :)
Offline
Avatar użytkownika

alderous

Pułkownik

Pułkownik

  • Posty: 1784
  • Dołączył(a): Cz 19 sie, 2004 13:20
  • Lokalizacja: Łódź

PostSo 19 lis, 2005 21:03

Myślę, że stworzenie flary za pomocą camCreate zrobiłoby to co trzeba - zgasła by w ułamku sekundy bo powstawałaby tuż nad ziemią. Proste rozwiązania są najlepsze ;]
Offline
Avatar użytkownika

Grabarz^^

Chorąży

Chorąży

  • Posty: 224
  • Dołączył(a): Pn 19 lip, 2004 23:59
  • Lokalizacja: Darłowo

PostSo 19 lis, 2005 21:10

O! Dokładnie o to mi chodzi...z własnego doświadczenia wiem że coś takiego nie jest trudno wykonać. Spróbuję coś wykombinować, ale jeżeli któryś z Was mnie ubiegnie to z żałości nie umrę :]
Offline

Oscypek

Major

Major

  • Posty: 858
  • Dołączył(a): Pn 01 lis, 2004 12:12
  • Lokalizacja: Maków Podhalański

PostSo 19 lis, 2005 21:16

Ale czy flara nie powstaje na pewnej wysokości? Chodzi mi o to, że poprostu nie będzie istnieć... nawet bez błysku. Może lepiej to zrobić za pomocą drop[] ?
Offline
Avatar użytkownika

alderous

Pułkownik

Pułkownik

  • Posty: 1784
  • Dołączył(a): Cz 19 sie, 2004 13:20
  • Lokalizacja: Łódź

PostSo 19 lis, 2005 21:30

Oscypek napisał(a):Ale czy flara nie powstaje na pewnej wysokości? Chodzi mi o to, że poprostu nie będzie istnieć... nawet bez błysku. Może lepiej to zrobić za pomocą drop[] ?


Miejsce w którym pojawia się flara określi się w komendzie CamCreate. Flara jak każdy pocisk w OFP znika w zetknięciu z innym obiektem np. podłożem.

czyli coś w stylu blysk = "Flare" camCrate [(getPos vehicle player select 0),(getPos vehicle player select 1),1] powinno dać zadowalający efekt. Nie wiem tylko czy współrzędne dobrałem odpowiednio tzn. czy np. nie zniknie w zetknięciu z samochodem - trzeba dobrać odpowiednio czas np. zrobić coś takiego

Kod: Zaznacz cały
...
_pos = getPos vehicle player
<samochód się teleportuje>
blysk = "Flare" camCrate _pos
...
Poprzednia strona

Powrót do Operation Flashpoint

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość