Czy wiesz, że... na forum możesz uzyskać pomoc nt. modowania GTA?
Strona główna forum Szukaj Rejestracja
Witaj, nieznajomy!
Poprzedni 1 2 Następny
Postów: 536 Dołączył: 2011-04-12
#
Czytałem poradnik o Pętlach wysokiego poziomu,ale ich nie kapuje. Mógłby mi ktoś wyjaśnić jak przerwać pętle. Pętla sprawdza czy jedziemy więcej niż podana prędkość i jak dojedziemy do punktu to przerywa sprawdzanie. Myślałem coś,zeby zrobić warunek , ale nie umiem:(

___________________
http://img.userbars.pl/76/15185
http://images.chomikuj.pl/button/Toyota-Supra
Postów: 878 Dołączył: 2009-01-20
#
Na pewno czytałeś?

Cytat:
Co jednak mamy zrobić w wypadku, gdy chcemy wyjść z któreś z tych pętli? Sanny Builder obsługuje jeszcze dwa kody - continue oraz break. Ten pierwszy przeskakuje na sam koniec pętli:

(...)

break za to po prostu wyskakuje z pętli

___________________
Administrator
Postów: 536 Dołączył: 2011-04-12
#
Coś takiego? Ale to nie działa.
Kod:
while true
wait 0 
if 
wait 0 
02E3: 15@ = car 3@ speed 
if 
   not 15@ >= 14.0 
    else_jump break
    00EC:   actor $PLAYER_ACTOR 1 near_point 2288.79 -1673.199 radius 14.3883 3.0 
end

___________________
http://img.userbars.pl/76/15185
http://images.chomikuj.pl/button/Toyota-Supra
Postów: 628 Dołączył: 2009-01-22
#
Nawet nie zamknąłeś poprawnie konstrukcji.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 536 Dołączył: 2011-04-12
#
Nie kapuje tego wg. Zbyt skomplikowane to dla mnie jest. Już któryś dzień siedzę czytam i nie mogę skapować jak to zrobić.
MakG zrobił byś mi taką pętle? Bardzo bym był wdzięczny. Przez tą pętlę stoję w miejscu ze skryptem i nie mogę go skończyć.
Ta pętla jest dosyć skomplikowana jak dla mnie [dla Ciebie pewnie nie].
Chciał bym aby sprawdzała czy jedziemy mniej niż i jeśli tak to auto eksploduje.
Ta sama pętla by też sprawdzała czy gracz żyje jeśli nie to wyskakuje z pętli i przeskakuje do innej pętli np. :koniec
W tej pętli też chciałem dodać, że jak dojedziemy do danego punktu to kończy sprawdzanie ta pętla i przeskakuje do innej np. :punkt.
Próbowałem rozłożyć tą pętle na kilka plików .cs ale to długo z tym schodzi

___________________
http://img.userbars.pl/76/15185
http://images.chomikuj.pl/button/Toyota-Supra
Postów: 878 Dołączył: 2009-01-20
#
Po prostu dajesz kilka warunków w jednej pętli while. Wcześniej pytałeś o zupełnie co innego.

Kod:
:petla
while 
true
  wait 
0
  if
    
// warunek #1

  then
    
// akcja #1

    break // wychodzimy z pętli

  end

  
if
    // warunek #2

  then
    
// akcja #2

    jump 
@koniec
  end

  
if
    // warunek #3

  then
    
// akcja #3

    jump 
@punkt
  end
end

wait 
1000
jump 
@petla

:punkt
// jakaś inna twoja pętla/działania


:koniec
// koniec skryptu

___________________
Administrator
Postów: 536 Dołączył: 2011-04-12
#
Dzieki MakG. Napisałem coś takiego ale gdy auto eksploduje i przeniesie nas ko szpitla ekran się rozjaśni to wywala grę
Kod:
//predkosc

:petla
while true
  wait 0
  if
wait 0 
02E3: 15@ = car 3@ speed 
if 
   not 15@ >= 14.0
  then
020B: explode_car 3@
jump @punkt
  end

  if
0117: player $PLAYER_CHAR wasted
  then
020B: explode_car 3@
    jump @koniec
  end

  if
00EC:   actor $PLAYER_ACTOR 1 near_point 2647.58 922.4301 radius 5.0 5.0
  then
Marker.Disable($633)
    jump @punkt
  end
end

wait 1000
jump @petla

:punkt
Car.DriveTo(3@, 2267.055, 2626.407, 6.7576)
//cut scenka
fade 0 1500 

:NONAME_945
wait 10 
if 
   not fading 
jf @NONAME_945 
wait 1 
Player.CanMove($PLAYER_CHAR) = False
wait 1 
wait 3000 
fade 1 1500 

:NONAME_989
wait 10 
if 
   not fading 
jf @NONAME_989 
Camera.SetPosition(2321.443, -1026.424, 1053.211, 0.0, 0.0, 0.0)
5@ = Actor.Create(CivMale, #SWAT, 2319.255, -1022.301, 1050.211)
6@ = Actor.Create(CivMale, #SWAT, 2319.271, -1020.915, 1050.211)
7@ = Actor.Create(CivMale, #SWAT, 2318.822, -1018.498, 1050.211)
Actor.Angle(5@) = 358.0
Actor.Angle(6@) = 178.0
Actor.Angle(7@) = 178.0
Camera.OnPed(6@, 12, 12)
wait 2000 
0605: actor 6@ perform_animation_sequence "BARCUSTOM_LOOP" IFP_file "BAR" 4.0 loop 1 0 0 0 time 10000 // versionA 
0605: actor 1@ perform_animation_sequence "PRTIAL_GNGTLKH" IFP_file "GANGS" 4.0 loop 1 0 0 0 time 10000 // versionA 
 Player.CanMove($PLAYER_CHAR) = True
:koniec
wait 0
if
020B: explode_car 3@
Marker.Disable($633)
03CD: disable_car 3@ stuck_check 

jump @NONAME_2

___________________
http://img.userbars.pl/76/15185
http://images.chomikuj.pl/button/Toyota-Supra
Postów: 878 Dołączył: 2009-01-20
#
3@ to samochód gracza? Jeżeli tak, to przed sprawdzeniem jego prędkości, sprawdź czy w ogóle ten samochód istnieje (tj. gracz znajduje się w pojeździe).

Jeżeli to nie samochód gracza, to sprawdzaj czy jest zdefiniowany przy pomocy 056E

___________________
Administrator
Postów: 536 Dołączył: 2011-04-12
#
Tak to auto gracza. A jakim opcodem to sprawdzić? Tym?
Kod:
   Actor.DrivingVehicleType($PLAYER_ACTOR, 3@)

___________________
http://img.userbars.pl/76/15185
http://images.chomikuj.pl/button/Toyota-Supra
Postów: 878 Dołączył: 2009-01-20
#
Tym:
Kod:
056E: car 3@ defined

___________________
Administrator
Postów: 536 Dołączył: 2011-04-12
#
Ale napisałeś,że jeśli to nie auto gracza to żebym użył tego opcodu. A to jest auto gracza. Z tym opkodem jest tak samo wywala po tym jak przenosi nas do szpitala gdy zginiemy. A może trzeba usunąć pojazd po tym jak zginiemy. Ale nie wiem jakim opkodem. Znalazłem tylko na zniszczenie a nie na to by znikł

___________________
http://img.userbars.pl/76/15185
http://images.chomikuj.pl/button/Toyota-Supra
Postów: 878 Dołączył: 2009-01-20
#
Spróbuj z tym:
Kod:
00DF: actor $PLAYER_ACTOR driving

___________________
Administrator
Postów: 536 Dołączył: 2011-04-12
#
Niestety nadal wywala grę.

___________________
http://img.userbars.pl/76/15185
http://images.chomikuj.pl/button/Toyota-Supra
Postów: 878 Dołączył: 2009-01-20
#
Wrzuć cały kod źródłowy.

___________________
Administrator
Postów: 536 Dołączył: 2011-04-12
#
Kod:
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP 

:NONAME_2
wait 10 
if 
   Player.Defined($PLAYER_CHAR)
else_jump @NONAME_2 
0570: $630 = create_asset_radar_marker_with_icon 20 at 1449.842 -2286.0 13.546 
Model.Load(#BUS)
Model.Load(#HMORI)
038B: load_requested_models 

:NONAME_55
wait 0 
if 
00EC:   actor $PLAYER_ACTOR 0 near_point 1449.842 -2286.0 radius 5.0 5.0 
else_jump @NONAME_55 
Marker.Disable($630)
Player.CanMove($PLAYER_CHAR) = False
fade 0 1500 

:NONAME_116
wait 10 
if 
   not fading 
else_jump @NONAME_116 
3@ = Car.Create(#BUS, 1401.797, -2315.613, 14.089)
Car.Angle(3@) = 180.0
0229: set_car 3@ primary_color_to 2 secondary_color_to 1 
4@ = Actor.Create(CivMale, #HMORI, 1404.478, -2320.678, 13.5469)
Actor.Angle(4@) = 130
036A: put_actor $PLAYER_ACTOR in_car 3@ 
02A3: enable_widescreen 1 
Camera.SetPosition(1416.862, -2333.54, 20.1478, 0.0, 0.0, 0.0)
Camera.PointAt(1401.797, -2315.613, 14.089, 2)
0570: $HELP_GIMP_SUIT_SHOWN = create_asset_radar_marker_with_icon 56 at 1004.9 1374.126 10.7777 
wait 3000 
fade 1 1500 

:NONAME_304
wait 10 
if 
   not fading 
else_jump @NONAME_304 
wait 3000 
054C: use_GXT_table 'BUS' 
00BC: show_text_highpriority GXT 'TXT1' time 3000 flag 1 
wait 3000 
00BC: show_text_highpriority GXT 'TXT2' time 3000 flag 1 
wait 3000 
00BC: show_text_highpriority GXT 'TXT3' time 3000 flag 1 
wait 3000 
00BC: show_text_highpriority GXT 'TXT4' time 3000 flag 1 
wait 3000 
Marker.Disable($HELP_GIMP_SUIT_SHOWN)
   Actor.Dead(4@)
fade 0 1500 

:NONAME_438
wait 10 
if 
   not fading 
else_jump @NONAME_438 
wait 1 
Camera.Restore
wait 3000 
fade 1 1500 

:NONAME_473
wait 10 
if 
   not fading 
else_jump @NONAME_473 
wait 1000 
02A3: enable_widescreen 0 
wait 2000 
00BC: show_text_highpriority GXT 'TXT5' time 3000 flag 1 
0570: $632 = create_asset_radar_marker_with_icon 56 at 1633.742 -1842.519 25.9459 
Player.CanMove($PLAYER_CHAR) = True

:NONAME_549
wait 0 
if 
00EC:   actor $PLAYER_ACTOR 1 near_point 1633.742 -1842.519 radius 30.0 30.0 
else_jump @NONAME_549 
Marker.Disable($632)
wait 1000 
00BC: show_text_highpriority GXT 'TXT6' time 3000 flag 1 
wait 3000 
00BC: show_text_highpriority GXT 'TXT7' time 3000 flag 1 
wait 3000 
00BC: show_text_highpriority GXT 'TXT8' time 3000 flag 1 
wait 3000 
00BC: show_text_highpriority GXT 'TXT9' time 3000 flag 1 
wait 3000 
00BC: show_text_highpriority GXT 'TXT10' time 3000 flag 1 
wait 3000 
00BC: show_text_highpriority GXT 'TXT11' time 3000 flag 1 
wait 3000 
00BC: show_text_highpriority GXT 'TXT12' time 3000 flag 1 
wait 3000 
00BC: show_text_highpriority GXT 'TXT13' time 3000 flag 1 
wait 3000 
00BC: show_text_highpriority GXT 'TXT14' time 3000 flag 1 
wait 3000 
00BC: show_text_highpriority GXT 'TXT15' time 3000 flag 1 
wait 3000 
00BC: show_text_highpriority GXT 'TXT16' time 3000 flag 1 
wait 3000 
00BC: show_text_highpriority GXT 'TXT17' time 3000 flag 1 
wait 3000 
00BC: show_text_highpriority GXT 'TXT18' time 3000 flag 1 
wait 10000 
0570: $X_MADD_DOGG_CRIB = create_asset_radar_marker_with_icon 20 at 2647.58 922.4301 11.0 

:NONAME_896
wait 0 
if 
   Actor.Driving($PLAYER_CHAR)
else_jump @NONAME_896 

:NONAME_916
wait 0 
if 
wait 0 
02E3: 15@ = car 3@ speed 
if 
   not 15@ >= 14.0 
else_jump @NONAME_969 
020B: explode_car 3@ // versionA 
jump @NONAME_1066 

:NONAME_969
if 
   Player.Wasted($PLAYER_CHAR)
else_jump @NONAME_997 
020B: explode_car 3@ // versionA 
jump @NONAME_1398 

:NONAME_997
if 
00EC:   actor $PLAYER_ACTOR 1 near_point 2647.58 922.4301 radius 5.0 5.0 
else_jump @NONAME_1047 
Marker.Disable($X_MADD_DOGG_CRIB)
jump @NONAME_1066 

:NONAME_1047
jump @NONAME_916 
wait 1000 
jump @NONAME_916 

:NONAME_1066
Car.DriveTo(3@, 2267.055, 2626.407, 6.7576)
fade 0 1500 

:NONAME_1093
wait 10 
if 
   not fading 
else_jump @NONAME_1093 
wait 1 
Player.CanMove($PLAYER_CHAR) = False
wait 1 
wait 3000 
fade 1 1500 

:NONAME_1137
wait 10 
if 
   not fading 
else_jump @NONAME_1137 
Camera.SetPosition(2321.443, -1026.424, 1053.211, 0.0, 0.0, 0.0)
5@ = Actor.Create(CivMale, #SWAT, 2319.255, -1022.301, 1050.211)
6@ = Actor.Create(CivMale, #SWAT, 2319.271, -1020.915, 1050.211)
7@ = Actor.Create(CivMale, #SWAT, 2318.822, -1018.498, 1050.211)
Actor.Angle(5@) = 358.0
Actor.Angle(6@) = 178.0
Actor.Angle(7@) = 178.0
Camera.OnPed(6@, 12, 12)
wait 2000 
0605: actor 6@ perform_animation_sequence "BARCUSTOM_LOOP" IFP_file "BAR" 4.0 loop 1 0 0 0 time 10000 // versionA 
0605: actor 1@ perform_animation_sequence "PRTIAL_GNGTLKH" IFP_file "GANGS" 4.0 loop 1 0 0 0 time 10000 // versionA 
Player.CanMove($PLAYER_CHAR) = True

:NONAME_1398
wait 0 
if 
020B: explode_car 3@ // versionA 
Marker.Disable($X_MADD_DOGG_CRIB)
03CD: disable_car 3@ stuck_check 
jump @NONAME_2 
0A93: end_custom_thread 

___________________
http://img.userbars.pl/76/15185
http://images.chomikuj.pl/button/Toyota-Supra
Poprzedni 1 2 Następny
Zaloguj się lub zarejestruj się, żeby pisać na forum.
Created & Powered by MakG