Czy wiesz, że... możesz podsyłać newsy, artykuły, pliki i zdjęcia?
Strona główna forum Szukaj Rejestracja
Witaj, nieznajomy!
Poprzedni 1 2 Następny
Postów: 536 Dołączył: 2011-04-12
#
Poszukuje takiego opcodu. Znalazłem tylko taki :
Kod:
02E3: 188@ = car 3@ speed
, ale on odczytuje bieżącą prędkość a ja potrzebuje takiego który sprawdza czy jedziemy mniej niż np. 50 i drugi czy jedziemy więcej niż np. 100

___________________
http://img.userbars.pl/76/15185
http://images.chomikuj.pl/button/Toyota-Supra
Postów: 878 Dołączył: 2009-01-20
#
No to nic nie stoi na przeszkodzie, żebyś sobie porównał odczytaną wartość z inną:

Kod:
02E3: 188@ = car 3@ speed
if
  
188@ > 15.0
then
  
// samochód jedzie więcej niż 15 mph

else
  
// samochód jedzie mniej niż 15 mph

end

___________________
Administrator
Postów: 536 Dołączył: 2011-04-12
#
Czyli coś takiego? Czy ta pętla będzie zawsze sprawdzać czy jedziemy tą prędkością czy np. podczas wykonywania dalszego kodu już nie?
Kod:
:predk
wait 10 
if 
02E3: 188@ = car 3@ speed
if
  188@ > 15.0
jf @predk

dalszy kod

___________________
http://img.userbars.pl/76/15185
http://images.chomikuj.pl/button/Toyota-Supra
Postów: 878 Dołączył: 2009-01-20
#
Ten kod jest w ogóle niepoprawny, bo nie zamknąłeś jednego warunku if. Jeżeli chcesz, aby skrypt cały czas sprawdzał prędkość, to sprawdzenie musisz umieścić w pętli i później wrócić do tej pętli. Odczytywanie wartości prędkości też musi być zapętlone.

Kod:
:sprawdz
  wait 
0
  02E3: 188@ = car 3@ speed

  if
    
188@ > 15.0
jf 
@sprawdz

// dalszy kod


jump 
@sprawdz

___________________
Administrator
Postów: 536 Dołączył: 2011-04-12
#
I to będzie sprawdzało na okradło czy mamy taką prędkość nawet jak dalszy kod będzie trwał minute to podczas tej minuty też będzie sprawdzane?

___________________
http://img.userbars.pl/76/15185
http://images.chomikuj.pl/button/Toyota-Supra
Postów: 878 Dołączył: 2009-01-20
#
Nie, ponowne sprawdzenie będzie dopiero po wykonaniu jump @sprawdz.

___________________
Administrator
Postów: 536 Dołączył: 2011-04-12
#
A jak zrobić by na okrągło sprawdzało?
Nie zależnie czy dalszy kod trwa minute czy mniej. Zawsze sprawdza. Nie ważne co się dzieje w kodzie. Próbowałem tak, ale nie działa.
Kod:
while true
  wait 0
  02E3: 188@ = car 3@ speed

  if
    188@ > 15.0
    and

___________________
http://img.userbars.pl/76/15185
http://images.chomikuj.pl/button/Toyota-Supra
Postów: 628 Dołączył: 2009-01-22
#
Nie można sprawdzać "nieważne co się dzieje w kodzie", musisz robić to sam w pętli.

___________________
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
#
No to zrobiłem pętle , ale ona nie działa przez cały skrypty tylko w tym momencie co ją wstawię. Dlaczego tak jest? Można jakoś to zrobić inaczej?

___________________
http://img.userbars.pl/76/15185
http://images.chomikuj.pl/button/Toyota-Supra
Postów: 878 Dołączył: 2009-01-20
#
ToyotaSupra napisał(a):
Dlaczego tak jest?

Bo kod jest wykonywany po kolei.

Trzeba całą operację podzielić sobie na pomniejsze, a jeżeli korzystasz z instrukcji wait, to musisz się przerzucić na wbudowane timery. Operacje możesz sobie podzielić stosując tzw. flagi, czyli w tym przypadku zmienne, które sobie będziesz odpowiednio ustawiał. Np.

Kod:
0@ = 0 // flaga dla prędkości

while 
true
  wait 
0
  02E3: 1@ = car 3@ speed
  if
    
1@ > 15.0
  then
    
0@ = 1
  else
    
0@ = 0
  end

  
if
    0@ == 1
  then
    
// jakiś kod bez waitów

    32@ = 0 // resetowanie wbudowanego timera

  end

  
if
    0@ == 1
    32@ > 2000
  then
    
// dalszy kod po wykonaniu pierwszego i upłynięciu dwóch sekund

  end
end


Przeanalizuj sobie spokojnie kod, zrozum jaka jest tego idea i zastosuj to do swojego przypadku.

___________________
Administrator
Postów: 536 Dołączył: 2011-04-12
#
Oki dzięki. Pokombinuje coś z tym. Zobaczymy co wyjdzie.

___________________
http://img.userbars.pl/76/15185
http://images.chomikuj.pl/button/Toyota-Supra
Postów: 536 Dołączył: 2011-04-12
#
Przeglądałem kilka razy ten kod co napisałeś ale go nie kapuje zbytnio. Ja się ,,bawię,, skryptami dopiero tydzień a Wy kilka lat więc jeszcze troche i moze zrozumiem co nie co.
Mam inny pomysł. Mamy dwa pliki misja.cm i startmisja.cs. W cm jest cała misja [tak jak tu]
a w cs
Kod:
{$CLEO .cs}
0A94: start_custom_mission "mission"
petla sprawdzajaca czy wykonujemy tamta misje
petla sprawdzajaca ile jedziemy
. Dało by tak zrobić?

___________________
http://img.userbars.pl/76/15185
http://images.chomikuj.pl/button/Toyota-Supra
Postów: 878 Dołączył: 2009-01-20
#
No jak nie miałeś styczności z żadnym językiem programowania, ani językiem skryptowym, to może być to dla ciebie niejasne.

Co do Twojego pomysłu - nie bardzo. Da się sprawdzić, czy misja jest włączona poprzez ustawienie globalnej flagi $ONMISSION, ale nijak ma się to do sprawdzenia prędkości. Nie ma prostego sposobu na odczytanie uchwytu pojazdu z innego skryptu.

Kod SCM jest wykonywany po kolei i nie można zrobić sprawdzenia "w tle", więc musisz podzielić swój kod na kilka sekcji i sterować nimi poprzez flagi, tak jak pokazałem w poprzednim poście.

___________________
Administrator
Postów: 536 Dołączył: 2011-04-12
#
No niestety nie miałem żadnej styczności.
Szkoda,ze nie da rady. Pokombinuje jakoś możne wyjdzie

___________________
http://img.userbars.pl/76/15185
http://images.chomikuj.pl/button/Toyota-Supra
Postów: 294 Dołączył: 2011-07-27
#
Ja mam takiego moda który daje nam 2 gwiazdki poszukiwań jak przekroczymy daną prędkość na danym obszarze. Nie wiem czy o to ci chodzi...
Poprzedni 1 2 Następny
Zaloguj się lub zarejestruj się, żeby pisać na forum.
Created & Powered by MakG