Uruchamianie skrypt po wejściu w dane miejsce 16393 0

O temacie

Autor Zkirtaem

Zaczęty 20.03.2008 roku

Wyświetleń 16393

Odpowiedzi 0

Zkirtaem

Zkirtaem

Moderator
Mięso
posty2171
Propsy1689
ProfesjaGracz
  • Moderator
  • Mięso
Pisząc ten tutek, zakładam, że czytaliście poprzednie.
Ja używam mojego wyczyszczonego main.scm, więc może się różnić od waszych.
Poszukajcie takiej linijki:

;-------------MAIN---------------

Pod tym powinno być dość dużo tekstu, ale na końcu, przed pierwszym Label'em, powinno być coś mniej więcej takiego:

0353: refresh_actor $PLAYER_ACTOR

Ten label na dole powinien być mniej więcej taki:

:Label0086DD
016A: fade  1 (back)  1000 ms
00D6: if  0
0256:   player $PLAYER_CHAR defined
04BB: select_interiour  0  ;; select render area
01B4: set_player $PLAYER_CHAR frozen_state  1 (unfrozen)
01B7: release_weather

I na dole jakieś Sety, inity, i Create_Thread.

Nas interesuje właśnie te Create_Thread:
Więc piszemy gdzieś pomiędzy takimi:

004F: create_thread ŁŁEksplozja1 -560.272 702.295 19.536
To oznacza, że te Eksplozja1 jest na koordynantach, które są tam podane (koordynanty drzwi do spalonej chatki w drugim mieście).

Dalej, gdzieś w Labelach, czyli dalej, wciskamy takie coś:



:Eksplozja1
0087: 3@ = 0@  ;; floating-point values only
0087: 4@ = 1@  ;; floating-point values only
0087: 5@ = 2@  ;; floating-point values only

0087: 6@ = 0@  ;; floating-point values only
0087: 7@ = 1@  ;; floating-point values only
0087: 8@ = 2@  ;; floating-point values only

000F: 3@ -= 0.1  ;; floating-point values
000F: 4@ -= 0.1  ;; floating-point values
000F: 5@ -= 0.1  ;; floating-point values

000B: 6@ += 0.1  ;; floating-point values
000B: 7@ += 0.1  ;; floating-point values
000B: 8@ += 0.1  ;; floating-point values

:Eksplozja1Loop
0001: wait 250 ms
00D6: if 0
0339: objects_in_cube 3@ 4@ 5@ 6@ 7@ 8@ 0 1 1 0 0
004D: jump_if_false ŁŁEksplozja1Loop  
020C: create_explosion_with_radius 2 at 0@ 1@ 2@    
032B: $D0 = create_weapon_pickup #BOMB  15 ammo  8 at  -564.152 698.556 20.620
032B: $D0 = create_weapon_pickup #MOLOTOV  15 ammo  10 at  -565.427 701.563 20.710
032B: $D0 = create_weapon_pickup #KATANA  15 ammo  1 at  -562.487 698.543 20.645
032B: $D0 = create_weapon_pickup #RUGER  15 ammo  150 at  -559.883 698.029 20.623  
032B: $DD = create_weapon_pickup #TEARGAS  15 ammo  30 at -559.427 701.563 20.710
004E: end_thread
                                                     
                       
Tłumaczenie:

Całe :Eksplozja1 zostawiam, ważniejsze jest Eksplozja1Loop:

Pisząc ten tutek, zakładam, że czytaliście poprzednie.
Ja używam mojego wyczyszczonego main.scm, więc może się różnić od waszych.
Poszukajcie takiej linijki:

;-------------MAIN---------------

Pod tym powinno być dość dużo tekstu, ale na końcu, przed pierwszym Label'em, powinno być coś mniej więcej takiego:

0353: refresh_actor $PLAYER_ACTOR

Ten label na dole powinien być mniej więcej taki:

:Label0086DD
016A: fade  1 (back)  1000 ms
00D6: if  0
0256:   player $PLAYER_CHAR defined
04BB: select_interiour  0  ;; select render area
01B4: set_player $PLAYER_CHAR frozen_state  1 (unfrozen)
01B7: release_weather

I na dole jakieś Sety, inity, i Create_Thread.

Nas interesuje właśnie te Create_Thread:
Więc piszemy gdzieś pomiędzy takimi:

004F: create_thread ŁŁEksplozja1 -560.272 702.295 19.536
To oznacza, że te Eksplozja1 jest na koordynantach, które są tam podane (koordynanty drzwi do spalonej chatki w drugim mieście).

Dalej, gdzieś w Labelach, czyli dalej, wciskamy takie coś:



:Eksplozja1
0087: 3@ = 0@  ;; floating-point values only
0087: 4@ = 1@  ;; floating-point values only
0087: 5@ = 2@  ;; floating-point values only

0087: 6@ = 0@  ;; floating-point values only
0087: 7@ = 1@  ;; floating-point values only
0087: 8@ = 2@  ;; floating-point values only

000F: 3@ -= 0.1  ;; floating-point values
000F: 4@ -= 0.1  ;; floating-point values
000F: 5@ -= 0.1  ;; floating-point values

000B: 6@ += 0.1  ;; floating-point values
000B: 7@ += 0.1  ;; floating-point values
000B: 8@ += 0.1  ;; floating-point values

:Eksplozja1Loop - Etykieta;
0001: wait 250 ms - Poczekaj 250 milisekund;
00D6: if 0  - Jeśli;
0339: objects_in_cube 3@ 4@ 5@ 6@ 7@ 8@ 0 1 1 0 0   -  Jakikolwiek obiekt będzie w kwadracie o koordynantach podanych na początku skryptu;
004D: jump_if_false ŁŁEksplozja1Loop
020C: create_explosion_with_radius 2 at 0@ 1@ 2@    -  robi eksplozję o wielkości 2 na koordynantach zdefiniowanych na górze
032B: $D0 = create_weapon_pickup #BOMB  15 ammo  8 at  -564.152 698.556 20.620  -  Kładzie granaty z zapalnikiem na pilot na podanych koordynantach, tu w środku budynku;
032B: $D0 = create_weapon_pickup #MOLOTOV  15 ammo  10 at  -565.427 701.563 20.710  -  a tu Koktaile Mołotowa;
032B: $D0 = create_weapon_pickup #KATANA  15 ammo  1 at  -562.487 698.543 20.645  -  Tu Katana;
032B: $D0 = create_weapon_pickup #RUGER  15 ammo  150 at  -559.883 698.029 20.623  -  Tu Ruger;
032B: $DD = create_weapon_pickup #TEARGAS  15 ammo  30 at -559.427 701.563 20.710 -  A tu granaty łzawiące;
004E: end_thread  -  Koniec skryptu :D
 


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry