Czy wiesz, że... rejestracja trwa tylko 20 sekund?
Strona główna forum Szukaj Rejestracja
Witaj, nieznajomy!
Poprzedni 1 Następny
Postów: 1004 Dołączył: 2009-01-20
#
Zrobiłem sobie trzy markery przed trzema budynkami. Jednak po wejściu do każdego z nich teleportuje mnie do jednego miejsca, a powinno do trzech różnych miejść. Kod robiłem według tego poradnika na stronie głównej pod tytułem "pętle". Ktoś wie co jest nie tak?

Kod:
{$VERSION 3.1.0027}
{$CLEO .cs}

0000: NOP
//=============================
:petla1
wait 0
if and
0A40: $marker1 = create_entrance_marker_at 2513.9224 -1691.2762 14.046 color 14
00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 2513.9224 -1691.2762 14.046 radius 1.0 1.0 1.0
jf @petla2

jump @kod1

:petla2
wait 0
if and
0A40: $marker2 = create_entrance_marker_at 2522.886 -1679.3274 15.497 color 14
00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 2522.886 -1679.3274 15.497 radius 1.0 1.0 1.0 
jf @petla3

jump @kod2

:petla3
wait 0
if and
0A40: $marker2 = create_entrance_marker_at 2524.0942 -1658.656 15.4935 color 14
00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 2524.0942 -1658.656 15.4935 radius 1.0 1.0 1.0 
jf @petla1

jump @kod3

:kod1
04BB: select_interior 6 
0860: link_actor $PLAYER_ACTOR to_interior 6 
08C7: put_actor $PLAYER_ACTOR at 345.8381 305.038 999.1484 //
Actor.Angle($PLAYER_ACTOR) = 268.4333

:kod2
04BB: select_interior 3 
0860: link_actor $PLAYER_ACTOR to_interior 3 
08C7: put_actor $PLAYER_ACTOR at 1038.531372 0.111030 1001.284484 //
Actor.Angle($PLAYER_ACTOR) = 48.8805

:kod3
04BB: select_interior 1 
0860: link_actor $PLAYER_ACTOR to_interior 1 
08C7: put_actor $PLAYER_ACTOR at 2169.461181 1618.798339 999.976562 //
Actor.Angle($PLAYER_ACTOR) = 48.8805

0A93: end_custom_thread

Postów: 159 Dołączył: 2009-02-05
#
Kod:
{$CLEO .cs}
0000: NOP

:WEJSCIA
wait 10
if
Player.Defined($PLAYER_CHAR)
jf @WEJSCIA

0A40: $marker1 = create_entrance_marker_at 2514.1125 -1691.3422 14.046 color 14
0A40: $marker2 = create_entrance_marker_at 344.793 305.033 999.1484 color 14
0A40: $marker2 = create_entrance_marker_at 2522.7515 -1679.4083 15.497 color 14
0A40: $marker2 = create_entrance_marker_at -22.227 -174.359 1003.5469 color 14

:wejscie1
wait 10
if
00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 2514.1125 -1691.3422 14.046 radius 1.0 1.0 1.0
jf @wyjscie1
04BB: select_interior 6
0860: link_actor $PLAYER_ACTOR to_interior 6
08C7: put_actor $PLAYER_ACTOR at 345.8381 305.038 999.1484 //
Actor.Angle($PLAYER_ACTOR) = 268.4333
jump @wejscie1

:wyjscie1
wait 10
if
00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 344.793 305.033 999.1484 radius 1.0 1.0 1.0
jf @wejscie2
04BB: select_interior 0
0860: link_actor $PLAYER_ACTOR to_interior 0
08C7: put_actor $PLAYER_ACTOR at 2512.9912 -1690.1498 13.5394 //
Actor.Angle($PLAYER_ACTOR) = 48.8805
jump @wejscie1

:wejscie2
wait 10
if
00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 2522.7515 -1679.4083 15.497 radius 1.0 1.0 1.0
jf @wyjscie2
04BB: select_interior 17
0860: link_actor $PLAYER_ACTOR to_interior 17
08C7: put_actor $PLAYER_ACTOR at -18.5238 -176.2833 1003.5469 //
Actor.Angle($PLAYER_ACTOR) = 9.4
jump @wejscie1

:wyjscie2
wait 10
if
00FE: actor $PLAYER_ACTOR sphere 0 in_sphere -22.227 -174.359 1003.5469 radius 1.0 1.0 1.0
jf @wejscie1
04BB: select_interior 0
0860: link_actor $PLAYER_ACTOR to_interior 0
08C7: put_actor $PLAYER_ACTOR at 2519.958 -1679.0699 14.8929 //
Actor.Angle($PLAYER_ACTOR) = -277.2792
jump @wejscie1

0A93: end_custom_thread



Tu masz cały swój skrypt w cleo, przeanalizuj go to się dowiesz jak jest zrobiony XD Wykryłem mały błąd nie chce zrobić markera przy drugim domu ale idzie wejść do tych domów w byle jakiej kolejności oto ci chyba chodziło XD
Jak miałbyś jeszcze jakieś pytania to wal na pw.

___________________

Postów: 1004 Dołączył: 2009-01-20
#
Oj mam. Tylko lepiej na forum w takich sprawach rozmawiać. Zawsze komuś innemu takie coś może się przydać i dzięki za odpowiedź. Nie zauważyłem twojej odpowiedzi przed zmianą pytania. Ech, mi te pętlę coś ciężko idą. No i też nie umie do twojego sposobu przypisać trzeciego markeru.

Nieco zmieniłem pytanie w pierwszym poście i kod bo po części sobie poradziłem. A więc tak: postawiłem sobie tym razem trzy markery i do każdego z nich przypisałem teleport w inne miejsce. Jednak nie do końca działa to tak jak bym chciał. Po wejściu, do którego kol wiek z nich teleportuje mnie zawsze do tego samego miejsca. A powinno do innego. Ktoś wie jak ten problem rozwiązać?
Postów: 159 Dołączył: 2009-02-05
#
Kod:
:kod1
04BB: select_interior 6
0860: link_actor $PLAYER_ACTOR to_interior 6
08C7: put_actor $PLAYER_ACTOR at 345.8381 305.038 999.1484 //
Actor.Angle($PLAYER_ACTOR) = 268.4333
jump @petla1

:kod2
04BB: select_interior 3
0860: link_actor $PLAYER_ACTOR to_interior 3
08C7: put_actor $PLAYER_ACTOR at 1038.531372 0.111030 1001.284484 //
Actor.Angle($PLAYER_ACTOR) = 48.8805
Jump @petla1
:kod3
04BB: select_interior 1
0860: link_actor $PLAYER_ACTOR to_interior 1
08C7: put_actor $PLAYER_ACTOR at 2169.461181 1618.798339 999.976562 //
Actor.Angle($PLAYER_ACTOR) = 48.8805
Jump @petla1
0A93: end_custom_thread


To powinno zadziałać XD

___________________

Postów: 1004 Dołączył: 2009-01-20
#
Dzięki, jak najbardziej tamto dział. Chciałem ten sam rodzaj skryptu zastosować w ten sposób: ustawiłem sobie trzy postacie a nad każdą z nich przypisałem markera i kiedy się postacie załatwia markery powinny znikać. Jednak nie zawsze się tak dzieje. To znaczy: że np. kiedy zginie pierwsza postać marker znika, a nad drugą już nie itd.

po niżej daje fragment kodu:

Kod:
0247: load_model #SBFYRI
038B: load_requested_models
009A: $aktor1 = create_actor_pedtype 5 model #SBFYRI at 2499.342 -1660.9523 13.3577
Actor.Angle($aktor1) = 180.0

009A: $aktor2 = create_actor_pedtype 5 model #SBFYRI at 2504.3118 -1663.839 13.3905
Actor.Angle($aktor2) = 153.3174

009A: $aktor3 = create_actor_pedtype 5 model #SBFYRI at 2507.3723 -1668.0754 13.3787
Actor.Angle($aktor3) = 107.8602


0187: $CEL1 = create_marker_above_actor $aktor1
0187: $CEL2 = create_marker_above_actor $aktor2
0187: $CEL3 = create_marker_above_actor $aktor3




:petla1
wait 0
if
0118: actor $aktor1 dead
jf @petla2

jump @kod1

:petla2
wait 0
if 
0118: actor $aktor2 dead
jf @petla3

jump @kod2

:petla3
wait 0
if 
0118: actor $aktor3 dead
jf @petla1

jump @kod3

:kod1
Marker.Disable($CEL1)
jump @petla1
:kod2
Marker.Disable($CEL2)
jump @petla1
:kod3
Marker.Disable($CEL3)
jump @petla1


Ktoś wie co może być nie tak?
Postów: 159 Dołączył: 2009-02-05
#
Kod:
0247: load_model #SBFYRI
038B: load_requested_models

009A: $aktor1 = create_actor_pedtype 5 model #SBFYRI at 2499.342 -1660.9523 13.3577
Actor.Angle($aktor1) = 180.0

009A: $aktor2 = create_actor_pedtype 5 model #SBFYRI at 2504.3118 -1663.839 13.3905
Actor.Angle($aktor2) = 153.3174

009A: $aktor3 = create_actor_pedtype 5 model #SBFYRI at 2507.3723 -1668.0754 13.3787
Actor.Angle($aktor3) = 107.8602


0187: $CEL1 = create_marker_above_actor $aktor1
0187: $CEL2 = create_marker_above_actor $aktor2
0187: $CEL3 = create_marker_above_actor $aktor3




:petla1
wait 0
if
0118: actor $aktor1 dead
jf @petla2

jump @kod1

:petla2
wait 0
if
0118: actor $aktor2 dead
jf @petla3

jump @kod2

:petla3
wait 0
if
0118: actor $aktor3 dead
jf @petla1

jump @kod3

:kod1
Marker.Disable($CEL1)
jump @petla2
:kod2
Marker.Disable($CEL2)
jump @petla3
:kod3
Marker.Disable($CEL3)
jump @petla1


Pętle i External Scripts są najtrudniejsze.

Śledź pętle co ?? Bo tam miałeś takie coś że jak zabiłeś jedną to ci się to zapętlało i nie przeskakiwało do kolejnej funkcji czyli zabiłeś pierwsza to przeskoczyło do @kod1
i tam było
:kod1
Marker.Disable($CEL1)
jump @petla1
I przeskoczyło do petla1 i znów sprawdziło czy ona nie żyje i znów przeskok do @kod1
a potem znowu
:kod1
Marker.Disable($CEL1)
jump @petla1
I tak w kółko.Chyba Rozumiesz XD
Mam nadzieje że pomogłem

___________________

Postów: 1004 Dołączył: 2009-01-20
#
Powracając do tematu.

Jak do sposób extermin dodać żeby po tej części kodu
Kod:
:kod1
Marker.Disable($CEL1)
jump @petla2
:kod2
Marker.Disable($CEL2)
jump @petla3
:kod3
Marker.Disable($CEL3)
jump @petla1

działa się jakaś akcja np. spawnował się samochód:
Poprzedni 1 Następny
Zaloguj się lub zarejestruj się, żeby pisać na forum.
Created & Powered by MakG