Skocz do zawartości

Trupy + wypadanie pieniędzy


Dexter12

Rekomendowane odpowiedzi

Witam robię grę podobną do gta 2. Teraz ostatnio się zabrałem za zrobienie przechodniów. Tyle że mam jeden obiekt a w evencie Create mam kod który losuje sprite dla przechodnia. Teraz chciałbym aby po przejechaniu przechodnia pokazał się trup w tym samym miejscu gdzie go przejechalem i to samo z pieniędzmi. A problem jest taki że jak przejade człowieka to kasa i trup pokazuje się na innym przechodniu :/ Jak to naprawić?

Odnośnik do komentarza
Udostępnij na innych stronach

Nie chodzi mi o depth. Problem polega na tym że mam kilku przechodniów w roomie, przejade jednego to zamiast tworzyć się trup i kasa na tym którego przejechałem to tworzy sie na innym :/ I moje pytanie jest: co zrobić żeby trup i kasa zawsze tworzyła się przy tym przechodniu ktorego przejade? Trup jest obiektem i pieniądze tak samo.

Już ci odpowiedziałem, najwyraźniej pisałeś posta w tym czasie.

 

Edit:

 

GML
with(other)

{

instance_change(x,y,trup)

instance_create(x,y,zloto)

}

 

To w obiekcie samochodu po zetknięciu się z przechodnim.

Odnośnik do komentarza
Udostępnij na innych stronach

Wszyscy pisaliśmy w tym samym czasie xD

 

GML
if( sprite_index == sprite196_e )

{

instance_create( peop_01.x, peop_01.y, peop03_dead )

instance_destroy()

}

 

if( sprite_index == sprite187_f )

{

instance_create( peop_01.x, peop_01.y, peop04_dead )

instance_destroy()

}

if( sprite_index == sprite188_g )

{

instance_create( peop_01.x, peop_01.y, peop01_dead )

instance_destroy()

}

ja mam taki kod napewno to jest źle
Odnośnik do komentarza
Udostępnij na innych stronach

Dziwne jak go rozjezdzam to potem mój trup jeszcze łazi po roomie xD Nie wiem o co chodzi :/ A tak wogule to za co odpowiada to instance_change?

Zmiana obiektu. A żeby nie łaził to speed=0 na koniec daj ;d

 

GML
with(other)

{

instance_change(trup,0)

instance_create(x,y,zloto)

speed=0

}

Odnośnik do komentarza
Udostępnij na innych stronach

Zrobić, żeby omijał obiekty... (mp_potential_step) Albo go tam nie prowadzić ;d Albo jakieś zmienne, np. przy wsiadaniu.

 

Create samochodu:

GML
dupa=0 // nie wsiadł</span>

 

(tutaj jakiś tam event, tam gdzie masz wsiadanie do samochodu):

GML
dupa=1

 

if dupa=1

{

dupa=0

}

 

I collision ludzik -> samochód

GML
if dupa=1

{

 

with(other)

{

instance_change(trup,0)

instance_create(x,y,zloto)

speed=0

}

 

}

 

Wiem, strasznie noobski kod, ale nie mam pomysłu :P

Odnośnik do komentarza
Udostępnij na innych stronach

ja bym przy poruszaniu sprawdzał czy w następnej pozycji, do której ruszy się ludzix nie ma żadnego auta przez place_meeting ;)

Albo nie, sprawdzać speed.

 

GML
with(other)

{

if samochod.speed>=0.1 // sprawdzanie, czy auto stoi czy sie porusza

{

instance_change(trup,0)

instance_create(x,y,zloto)

speed=0

}

}

Odnośnik do komentarza
Udostępnij na innych stronach

Zrobić, żeby omijał obiekty... (mp_potential_step) Albo go tam nie prowadzić ;d Albo jakieś zmienne, np. przy wsiadaniu.

 

Create samochodu:

GML
dupa=0 // nie wsiadł</span></span></span>

 

(tutaj jakiś tam event, tam gdzie masz wsiadanie do samochodu):

GML
dupa=1

 

if dupa=1

{

dupa=0

}

 

I collision ludzik -> samochód

GML
if dupa=1

{

 

with(other)

{

instance_change(trup,0)

instance_create(x,y,zloto)

speed=0

}

 

}

 

Wiem, strasznie noobski kod, ale nie mam pomysłu :P

 

Tutaj nie pasi mi ten kod bo jak bede siedział w samochodzie a samochód bedzie stał i człowiek go dotknie to sie zabije :/

 

Kod na poruszanie się przechodniów mam bardzo prosty:

 

Event Create:

GML
alarm[0]+=100

 

Event Alarm 0:

GML
image_angle = direction

direction = random(360)

 

alarm[0]+= random(300)

 

Event Step:

GML
image_angle = direction

 

speed = 1.5

 

@Up pisałeś w tym samym czasie

Odnośnik do komentarza
Udostępnij na innych stronach

spróbuj:
GML
if ( place_meeting( x + lengthdir_x( 5, direction ), y + lengthdir_y( 5, direction ), obj_auto ) alarm[ 0 ] = 1

 

jeżeli przed przechodniem pojawi się jakieś auto, ten uruchomi alarm0 i zmieni sobie kierunek chodu

To wtedy go rozjechać się nie będzie dało :P

Odnośnik do komentarza
Udostępnij na innych stronach

Błąd w kodzie, wielkie sorry :P Powinno być tak:

 

GML
with(other)

{

if samochod.speed<=0.1 // sprawdzanie, czy auto stoi czy sie porusza

{

instance_change(trup,0)

instance_create(x,y,zloto)

speed=0

}

}

 

Zły znaczek.

 

A nie, było dobrze. I powinno działać oO Pokaż jaki błąd ci wyskakuje.

Odnośnik do komentarza
Udostępnij na innych stronach

Właśnie żaden nie wyskakuje i dobrze miałeś bo coś mi tu nie pasowało. Probowałem już chyba na wszystkich znaczkach to albo wpadał pod zaparkowany samochód albo nie i wogule nie szlo go z max speedem przejechać:

GML
if ( car_parent.speed >= 1 )
w kolizji z samochodem

 

Przy takim kodzie nie szło go rozjechać.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...