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: 304 Dołączył: 2010-10-02
#
Siema.
Widziałem na necie wiele liczników do samochodu ale nigdy niewiedziałem jak taki stworzyć. Prosze o wskazuwki z czego miałby się składać taki skrypt i opcody które mogły by mi pomóc. Dzięki.
Postów: 248 Dołączył: 2009-06-27
#
1.Na początek musisz pobawić się w programie do obróbki zdjęć, aby przystosować swoją teksturę licznika do GTA;
2.Do tworzenia tekstur (również 2D) potrzebny Ci będzie TXD Workshop.
3.Musisz stworzyć teksturę za pomocą draw_texture, będziesz potrzebować przynajmniej jednego zegara i wskazówki(W przypadku analogowego licznika).
4.Musisz dobrać odpowiedni współczynnik przez który będziesz konwertować/mnożyć, np. prędkość
Zaraz zedytuję posta, muszę coś sprawdzić :P

___________________
http://www.gta-mods.pl/public/images/userbar
Postów: 534 Dołączył: 2009-03-08
#
Możesz stworzyć coś na podobę Licznik v2.0 w downloadzie.
Postów: 304 Dołączył: 2010-10-02
#
Niejestem taki tępy i zrobiłem punkty 1, 2, 3 ale z 4 to zabardzo nie kojarze. Najlepiej konkretne opcody by się przydały.
Postów: 878 Dołączył: 2009-01-20
#
Nie konkretne opcody, tylko zwykła matematyka.
Wszystko sprowadza się do obliczenia odpowiedniego obrotu strzałki.

Przypuśćmy, że chcesz zrobić licznik w kształcie koła. Pełny obrót koła wynosi 360 stopni. Załóżmy, że:


  • Minimalna wartość licznika - 0 km/h
  • Maksymalna wartość licznika - 280 km/h
  • stosunek prędkości w jednostkach z GTA SA do km/h wynosi 0,5


W takim razie 1 km/h będzie w przybliżeniu odpowiadał 1.29 stopnia.
360/280 ~ 1,29

Teraz musisz odczytać prędkość samochodu:
Kod:
02E3: 188@ = car 59@ speed


Nie jestem pewien w jakich jednostkach jest podawana prędkość w GTA SA, ale przypuszczam, że są to wewnętrznie przyjęte wartości. Załóżmy, że stosunek prędkości w jednostkach GTA SA do km/h wynosi 0,5.

Prędkość w kilometrach:
Kod:
188@ *= 0.5


Nie chcemy, żeby obrót strzałki wynosił więcej, niż 360 stopni, więc trzeba zrobić ograniczenie:
Kod:
if
 188@ > 280.0
then
 188@ = 280.0
end



Rotacja strzałki na prędkościomierzu:
Kod:
10@ = 188@
10@ *= 1.29



I wyświetlasz strzałkę:
Kod:
074B: draw_texture 20 position 600.0 400.0 scale 1.0 1.0 angle 10@ color_RGBA 255 2555 255 255



Oczywiście pominąłem takie rzeczy, jak wyświetlanie pozostałych tekstur, ładowanie ich itd.
Nie wiem, czy tak to robili autorzy istniejących prędkościomierzy, ale ja bym to zrobił w ten sposób.

___________________
Administrator
Postów: 248 Dołączył: 2009-06-27
#
Tą wskazówkę trzeba usunąć po wczytaniu aktualnej prędkości. Ten opcode to chyba coś w rodzaju enable_text_draw. Tylko że usuwa wszystkie tekstury, więc trzeba będzie ładować też zegar.

___________________
http://www.gta-mods.pl/public/images/userbar
Poprzedni 1 Następny
Zaloguj się lub zarejestruj się, żeby pisać na forum.
Created & Powered by MakG