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: 32 Dołączył: 2012-07-15
#
Czy da się ustawić kilka spawnów dla danego pojazdu wraz z postacią?

Mianowicie gracz wciska odpowiedni klawisz po czym wyciąga komórkę i ją chowa (na tym skończyłem skrypt) po chwili pojawia się na radarze (i mapie) ikona w kształcie broni (Emmet), a w tym miejscu gdzie jest ta ikona pojawia się na mapie samochód (w tym przypadku PONY), a w środku na miejscu kierowcy aktor (w tym przypadku Emmet). Natomiast obok, przed lub za (to już sam sobie ustawię) pojawia się czerwony znacznik i gdy w niego wejdziemy to:

1. Emmet wysiada z auta i idzie na tyły furgonetki po czym otwiera tylne drzwi i odwraca się do gracza.
2. Gracz automatycznie wysiada z samochodu i idzie w stronę Emmeta (do tylnych drzwi).

I potem wyświetla się menu broni itp ale mi chodzi tylko o to co jest u góry napisane.

Jeśli chodzi o skrypt to skończyłem na pojawieniu się ikonki i samochodu i mogę pokazać zawartość skryptu.

Pytania są następujące:

1. Jak zrobić, by po schowaniu telefonu gra wybierała LOSOWE nam miejsce dla spawnu pojazdu.
2. Jaki jest opcod na to, by obydwa aktorzy (gracz i aktor) szli w wyznaczone miejsce?
Postów: 628 Dołączył: 2009-01-22
#
1. Wylosuj liczbę całkowitą przez GENERATE_RANDOM_INT_IN_RANGE i uzależnij wykonanie określonego kodu spawnu od wylosowanej wartości. Albo stwórz tablicę z koordynatami miejsc spawnu i użyj wylosowanej wartości jako indeksu.

2. TASK_GO_STRAIGHT_TO_COORD

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 32 Dołączył: 2012-07-15
#
Silent napisał(a):
1. Wylosuj liczbę całkowitą przez GENERATE_RANDOM_INT_IN_RANGE i uzależnij wykonanie określonego kodu spawnu od wylosowanej wartości. Albo stwórz tablicę z koordynatami miejsc spawnu i użyj wylosowanej wartości jako indeksu.


U mnie to wygląda tak:

Kod:
:EMMET_6
 0729: AS_actor $PLAYER_ACTOR hold_cellphone 1
 wait 
500 
 0729: AS_actor $PLAYER_ACTOR hold_cellphone 0

:EMMET_7
wait  
500
0209: generate_random_int_in_range 0 10 store_to 23@
23@ = 413


Nie ogarniam za bardzo tego opcodu 0209. Gdy Użyję zmiennej lokalnej 23@ i pod nią przypiszę liczbę 413 (id pojazdu czyli PONY) to gra crashuje, gdy tylko CJ wyjmie komórkę. A wszystkie modele już wcześniej załadowałem i sprawdziłem, więc to nie tego wina. Aczkolwiek wydaje mi się, że wina leży po stronie zmiennej.

I nie wiem też jak zrobić, by po pojawieniu się pojazdu pojawiała się ikona na mapie. Miałem na myśli opcod 04CE, ale tam trzeba podawać współrzędne. Chyba, że bym użył zmiennej lokalnej i wtedy ustawił wartość samochodu.
Postów: 628 Dołączył: 2009-01-22
#
Czemu generujesz liczbę i ją od razu nadpisujesz?

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 32 Dołączył: 2012-07-15
#
Silent napisał(a):
Czemu generujesz liczbę i ją od razu nadpisujesz?


A co mam przed tym jeszcze wykonać?
Postów: 628 Dołączył: 2009-01-22
#
Hmmm... chyba celem losowania jest sprawdzenie, co wylosowałeś, żeby w zależności od tej zmiennej wykonać inny kod?

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 32 Dołączył: 2012-07-15
#
Silent napisał(a):
Hmmm... chyba celem losowania jest sprawdzenie, co wylosowałeś, żeby w zależności od tej zmiennej wykonać inny kod?


Jakbyś tylko mógł mi to rozpisać, bo nadal nie czaję o co chodzi z tym opcodem xd Ale forum jest chyba od pomagania, nie?
Postów: 628 Dołączył: 2009-01-22
#
Nie żebym był złośliwy, ale niedawno na GTAF napisałeś, że SCM to dla Ciebie pestka ;)

Nie rozumiem co objaśnić. Opcode losuje liczbę i zapisuje ją do zmiennej. Ty ją odczytujesz i na podstawie tej wartości ustalasz spawn, za pomocą ifów albo tablicy koordynatów.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 32 Dołączył: 2012-07-15
#
Nie wiem w którym miejscu dać ten opcod:

Kod:
{$CLEO .cs}

thread  
'EMMET'

:LOAD
04ED: load_animation "CAR_CHAT" // Animacje w samochodzie

0247: load_model #CELLPHONE // Telefon

0247: load_model #PONY // Pony

023C: load_special_actor 'EMMET' as 1 // models 290-299


:LOAD_CHECK 
wait  
10 
if  
and
 04EE:   animation "CAR_CHAT" loaded
 0248:   model #CELLPHONE available
 0248:   model 413 available
 023D:   special_actor 1 loaded 
jf  
@LOAD_CHECK

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

:EMMET_2 
wait  
10 
if
  
0AB0:  key_pressed 0x78  
jf  
@EMMET_1

:EMMET_3 
wait  
10 
if
  
0A32:   unknown_actor $PLAYER_ACTOR in_car 
jf  
@EMMET_6

0107: $phone = create_object #CELLPHONE at 0.0 0.0 0.0
070A: unknown_action_sequence $PLAYER_ACTOR $phone 0.0 0.0 0.0 6 16 "NULL" "NULL" 0
0605: actor $PLAYER_ACTOR perform_animation_sequence "carfone_in" IFP_file "CAR_CHAT" 4.0 loop 0 0 0 0 time -1

:EMMET_4 
wait  
0 
if
  
8611:    not  actor  $PLAYER_ACTOR performing_animation "carfone_in" 
jf  
@EMMET_4

0605: actor $PLAYER_ACTOR perform_animation_sequence "carfone_loopA" IFP_file "CAR_CHAT" 4.0 loop 0 0 0 0 time 5000
wait  
500
0605: actor $PLAYER_ACTOR perform_animation_sequence "carfone_out" IFP_file "CAR_CHAT" 4.0 loop 0 0 0 0 time -1

:EMMET_5 
wait  
0 
if
  
8611:    not  actor  $PLAYER_ACTOR performing_animation "carfone_out" 
jf  
@EMMET_5 

:EMMET_6
0729: AS_actor $PLAYER_ACTOR hold_cellphone 1
wait  
500 
0729: AS_actor $PLAYER_ACTOR hold_cellphone 0

04CE: $MARKER_EMMETS_GUN = create_icon_marker_without_sphere 18 at 2343.0818 -1245.1227 22.5
00A5: 17@ = create_car #PONY at 2343.0818 -1245.1227 22.5
04CE: $MARKER_EMMETS_GUN = create_icon_marker_without_sphere 18 at 2484.3376 -1538.9581 23.9927
00A5: 17@ = create_car #PONY at 2484.3376 -1538.9581 23.9927
04CE: $MARKER_EMMETS_GUN = create_icon_marker_without_sphere 18 at 2263.936 -1015.9934 55.3291
00A5: 17@ = create_car #PONY at 2263.936 -1015.9934 55.3291
04CE: $MARKER_EMMETS_GUN = create_icon_marker_without_sphere 18 at 2407.5669 -1205.7992 29.1926
00A5: 17@ = create_car #PONY at 2407.5669 -1205.7992 29.1926

:EMMET_7
wait  
500
0209: generate_random_int_in_range 0 10 store_to 17@

:NOP
0000: NOP
0A93: end_custom_thread


Silent napisał(a):
Nie żebym był złośliwy, ale niedawno na GTAF napisałeś, że SCM to dla Ciebie pestka ;)


Proste skrypty to dla mnie pestka, a takie coś to już szkoła wyższa.
Postów: 628 Dołączył: 2009-01-22
#
Nie. Używaj. Własnych. Zmiennych. Globalnych. W. CLEO. W zasadzie poza $PLAYER_ACTOR, $PLAYER_CHAR i $ONMISSION odradzałbym używanie jakichkolwiek zmiennych globalnych, chyba że chcesz rozpieprzyć ludziom save'y.

I zależy co chcesz losować. Chodzi o te 4 markery? Jeśli tak, to wylosuj liczbę przed ich spawnowaniem i sprawdź wartość:

Kod:
if 10@ == 0
then
    
// marker 1...

else
    
if 10@ == 1
    then
        
// marker 2...

    else
        
if 10@ == 2
        then
            
// marker 3...

        else
            
// ...

        end
    
end
end

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 32 Dołączył: 2012-07-15
#
Silent napisał(a):
Chodzi o te 4 markery?


Chodzi o te 4 markery, 4 furgonetki i 4 ikony.
Postów: 628 Dołączył: 2009-01-22
#
No to masz już szablon, i wstaw do niego to, co potrzebujesz. I pozbądź się zmiennych globalnych jak najszybciej.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 32 Dołączył: 2012-07-15
#
Może jeszcze raz powiem jak ja chcę..

Kod:
{$CLEO .cs}

thread  
'EMMET'

:LOAD
04ED: load_animation "CAR_CHAT" // Animacje w samochodzie

0247: load_model #CELLPHONE // Telefon

0247: load_model #PONY // Pony

023C: load_special_actor 'EMMET' as 1 // models 290-299


:LOAD_CHECK 
wait  
10 
if  
and
 04EE:   animation "CAR_CHAT" loaded
 0248:   model #CELLPHONE available
 0248:   model 413 available
 023D:   special_actor 1 loaded 
jf  
@LOAD_CHECK

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

:EMMET_2 
wait  
10 
if
  
0AB0:  key_pressed 0x78  
jf  
@EMMET_1

:EMMET_3 
wait  
10 
if
  
0A32:   unknown_actor $PLAYER_ACTOR in_car 
jf  
@EMMET_6

0107: 24@ = create_object #CELLPHONE at 0.0 0.0 0.0
070A: unknown_action_sequence $PLAYER_ACTOR 24@ 0.0 0.0 0.0 6 16 "NULL" "NULL" 0
0605: actor $PLAYER_ACTOR perform_animation_sequence "carfone_in" IFP_file "CAR_CHAT" 4.0 loop 0 0 0 0 time -1

:EMMET_4 
wait  
0 
if
  
8611:    not  actor  $PLAYER_ACTOR performing_animation "carfone_in" 
jf  
@EMMET_4

0605: actor $PLAYER_ACTOR perform_animation_sequence "carfone_loopA" IFP_file "CAR_CHAT" 4.0 loop 0 0 0 0 time 5000
wait  
500
0605: actor $PLAYER_ACTOR perform_animation_sequence "carfone_out" IFP_file "CAR_CHAT" 4.0 loop 0 0 0 0 time -1

:EMMET_5 
wait  
0 
if
  
8611:    not  actor  $PLAYER_ACTOR performing_animation "carfone_out" 
jf  
@EMMET_5 

:EMMET_6
0729: AS_actor $PLAYER_ACTOR hold_cellphone 1
wait  
500 
0729: AS_actor $PLAYER_ACTOR  hold_cellphone 0


04CE: $MARKER_EMMETS_GUN = create_icon_marker_without_sphere 18 at 2343.0818 -1245.1227 22.5
00A5: 0@ = create_car #PONY at 2343.0818 -1245.1227 22.5
04CE: $MARKER_EMMETS_GUN = create_icon_marker_without_sphere 18 at 2484.3376 -1538.9581 23.9927
00A5: 0@ = create_car #PONY at 2484.3376 -1538.9581 23.9927
04CE: $MARKER_EMMETS_GUN = create_icon_marker_without_sphere 18 at 2263.936 -1015.9934 55.3291
00A5: 0@ = create_car #PONY at 2263.936 -1015.9934 55.3291
04CE: $MARKER_EMMETS_GUN = create_icon_marker_without_sphere 18 at 2407.5669 -1205.7992 29.1926
00A5: 0@ = create_car #PONY at 2407.5669 -1205.7992 29.1926

:EMMET_7
0209: generate_random_int_in_range 0 10 store_to 17@
wait   
500
if 
0@ == 0 
then
     
04CE: $MARKER_EMMETS_GUN = create_icon_marker_without_sphere 18 at 2343.0818  -1245.1227 22.5
     00A5: 0@ = create_car #PONY at 2343.0818 -1245.1227 22.5 
else
     
if 0@ == 1 
    then
     
04CE: $MARKER_EMMETS_GUN = create_icon_marker_without_sphere 18 at 2484.3376 -1538.9581 23.9927
     00A5: 0@ = create_car #PONY at 2484.3376 -1538.9581 23.9927 
    else
         
if 0@ == 2 
        then
     
04CE: $MARKER_EMMETS_GUN = create_icon_marker_without_sphere 18 at 2263.936 -1015.9934 55.3291
     00A5: 0@ = create_car #PONY at 2263.936 -1015.9934 55.3291
       else
         
if 0@ == 3
         then
            
04CE: $MARKER_EMMETS_GUN = create_icon_marker_without_sphere 18 at 2407.5669 -1205.7992 29.1926
            00A5: 0@ = create_car #PONY at 2407.5669 -1205.7992 29.1926
           end
        
end
     end 
end


Chcę, aby po pętli EMMET_6 w DOWOLNYM miejscu na mapie pojawiała się furgonetka z kierowcą w środku i ikoną na mapie. Nie ogarniam w ogóle tego opcodu 0209, nie wiem nawet za co odpowiadają te cyfry 0 10. Dałeś mi ten szablon, ale nie wiem w którym dokładnie miejscu go wstawić.. Tak samo jest z opcodami 04CE i 00A5. Nie wiem czy wstawić te opcody przed opcodem 0209 czy już po. Dlatego ja bym wolał jakbyś mi od razu tutaj wstawił poprawiony skrypt jak to powinno prawidłowo wyglądać. A jak mi tu będziesz mówił o jakichś zmiennych to nici z tego.
Postów: 628 Dołączył: 2009-01-22
#
0 10 to przedział, z którego losujesz liczby...

Ustawianie furgonetki w dowolnym miejscu na mapie to nie jest zbyt dobry pomysł, ale jeśli naprawdę chcesz to zrobić, to wygeneruj losowe koordynaty (z przedziału -3000.0 - 3000.0) przez GENERATE_RANDOM_FLOAT_IN_RANGE, a potem znajdź najbliższą ścieżkę za pomocą GET_CLOSEST_CAR_NODE:

Kod:
0208: 0@ = random_float_in_ranges -3000.0 3000.0
0208: 1@ = random_float_in_ranges -3000.0 3000.0
02C1: store_to 0@ 1@ 2@ car_path_coords_closest_to 0@ 1@ 0.0



Grooviec4 napisał(a):
Dlatego ja bym wolał jakbyś mi od razu tutaj wstawił poprawiony skrypt jak to powinno prawidłowo wyglądać. A jak mi tu będziesz mówił o jakichś zmiennych to nici z tego.


Wysil się troszkę, to nie są zaawansowane rzeczy. Pytasz o podstawy.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 32 Dołączył: 2012-07-15
#
Silent napisał(a):
Ustawianie furgonetki w dowolnym miejscu na mapie to nie jest zbyt dobry pomysł


Dlaczego? A jakby lepiej pasowało? Jakby wóz do gracza przyjeżdżał?
Poprzedni 1 2 Następny
Zaloguj się lub zarejestruj się, żeby pisać na forum.
Created & Powered by MakG