Czy wiesz, że... możesz podsyłać newsy, artykuły, pliki i zdjęcia?
Strona główna forum Szukaj Rejestracja
Witaj, nieznajomy!
Poprzedni 1 Następny
Postów: 248 Dołączył: 2009-06-27
#
Cytat:
wait 3000 - odczekujemy 3000 milisekund (ms), czyli 3 sekundy. Przy pętli jest to NIEZBĘDNE, jeśli nie odczekamy jakiegoś czasu to gra zawiesi się w momencie startu wykonywania pętli.

Chyba to wszyscy czytali kiedyś. Nieprawda że jest to niezbędne, bo w main.scm niektóre pętle nie posiadają komendy wait x po nazwie pętli. Od czego to zależy?

___________________
http://www.gta-mods.pl/public/images/userbar
Postów: 159 Dołączył: 2009-02-05
#
Chyba nikt tego nie wiem po prostu jak nie chcesz czekać to daj wait 0 xD

___________________

Postów: 248 Dołączył: 2009-06-27
#
No niby masz racje ale czasem jak testuje swoje misje ktore wygladaja mniej wiecej tak:

Kod:

{$CLEO .cs}
0000: NOP
thread 'twojastara1'

:petla
wait 0
jump @petla1300

...

????: end_custom_thread


to mam crashe gry w CHOLERNIE LOSOWYCH miejscach, a kompilator SB nie pokazuje żadnych błędów. Najlepszym kompilatorem jest życie :-)

___________________
http://www.gta-mods.pl/public/images/userbar
Postów: 159 Dołączył: 2009-02-05
#
ale to co tu pokazałeś to nie pętla i tu właśnie nie musisz dawać wait pętla to np.
Kod:
:No
wait 10
if
Player.Defined($PLAYER_CHAR)
jf @No





___________________

Postów: 248 Dołączył: 2009-06-27
#
czyli wait daje wtedy gdy sie cos powtarza?



---

czyli temat mozna chyba zamknac. dzieki za pomoc

___________________
http://www.gta-mods.pl/public/images/userbar
Postów: 159 Dołączył: 2009-02-05
#
Tak. Przynajmniej tak myślę xD

___________________

Postów: 878 Dołączył: 2009-01-20
#
Pętle stosuje się wtedy, gdy chcesz wykonywać coś z określoną częstotliwością. Przy tworzeniu modów do GTA, warunek 'if' często trzeba zapętlać, bo sytuacja w grze zmienia się cały czas. Przykładowo, jeśli chcesz sprawdzić, czy gracz wszedł do samochodu, to musisz to sprawdzać cały czas, gdyż gracz może wejść do pojazdu po 5, 5.5 sekundach lub nawet po godzinie. A więc, jeśli chcesz to zdarzenie odpowiednio obsłużyć, musisz wykonywać sprawdzenie tego warunku cały czas. Do tego służą pętle.

A co do samego wait:
Jeśli wykonywałbyś daną czynność non-stop, bez jakiejkolwiek przerwy, to program po prostu się zawiesi, bo nie nadąży wykonywać tyle zadań naraz. Dlatego w przypadku zapętlania warunku 'if', bądź jakiejkolwiek innej funkcji musisz zastosować wait na początku lub na końcu pętli.

Inaczej sytuacja wygląda, jeśli stosujesz warunek 'if' jednorazowo (tj. nie zapętlasz go). Wtedy nie musisz poprzedzać instrukcji funkcją wait.

Ahh, rozpisałem się :) Jeśli coś, co napisałem jest nie jasne, to pytaj.

___________________
Administrator
Postów: 248 Dołączył: 2009-06-27
#
Rozpisałeś się, ale już wszystko rozumiem, dzięki. TERAZ można zamknąć temat :-)

___________________
http://www.gta-mods.pl/public/images/userbar
Temat zamknięty.
Poprzedni 1 Następny
Created & Powered by MakG