Skocz do zawartości

Przenoszenie postaci do innego roomu


David Dark

Rekomendowane odpowiedzi

Witam,

 

mam taki maly problem z ktorym nie umiem sie uporac.

 

chce aby bohater zostal przeniesiony do nastepnego roomu jesli wejdzie na ospowiedni obiekt ktory nazywal poprostu teleportem. obiekt bohatera jest obiektem stalym(persistent). Wraz z przeniesieniem go do nastepnego roomu musze zmienic jego pozycje. Przykladowo kod ktory wyprobowalem wyglada tak:

 

o_teleport

 

STEP

if o_bohater.x = o_teleport.x && o_bohater.y = o_teleport.y

{

room_goto_next();

o_bohater.x -= 20;

{

 

Niestety po wejsciu na ten obiekt obiekt bohatera jest ciagle przesuwany. Przeniesc bohatera do innego roomu i zmienic jego pozycje nie nadajac mu predkosci?

 

z gory dzieki.

Odnośnik do komentarza
Udostępnij na innych stronach

W game start daj sobie:

global.zmienil_pozycje=0

 

A potem tylko:

if o_bohater.x = o_teleport.x && o_bohater.y = o_teleport.y && global.zmienil_pozycje=0
{
global.zmienil_pozycje=1
room_goto_next();
o_bohater.x -= 20;
}

Odnośnik do komentarza
Udostępnij na innych stronach

ok kilka dodatkowych informacji:

 

moja gierka to rpg, mam duza mapke ktora podzielilem na roomy jest to zbudowane mniejwiecej tak:

 

123

456

789

 

Widzisz jesli bohater jest w roomie 1 i wejdzie do roomu 4 to jego postac bedzie na gorze i wszystko bedzie cacy, jesli z tego roomu wyjdzie do roomu 7 i potem pojdzie okrezna droga i wejdzie z roomu 5 do 4 to jego postac bedzie na dole zamiast z prawej, czyli bedzie to troche nierealistyczne, a do czego ludzie potrafia sie przyczepic to ja wiem ;-)

 

nie moge tez wykorzystac przykladow gdy postac wyjdzie poza room to zostaje przeniesiona bo obiekty teleport nie znajduja sie na krawedziach roomu.

 

musze miec kod ktory po wejsciu postaci na obiekt zostanie ona przeniesione dokladnie w to miejsce ktore chce i bez nadawania jej jakiegokolwiek ruchu niewiadomo skad 0_0

 

EDIT UP

ok Stig dzieki, wyprobuje to.

 

EDIT2 UP

niestety Stig tak sie raczej nie da, jesli ustawie ta zmienna to bede mogl sie jedynie przeniesc jednokrotnie, a jesli ustawie po tym alarm ktory nastawia ta zmienna spowrotem na 1 aby bohater znow mogl uzyc tego teleportu to po zmianie tej zmiennej postac znowu zaczyna sie przesuwac samoistnie :/

Odnośnik do komentarza
Udostępnij na innych stronach

dotykasz obiektu o_teleport, ktory ustawia zmienną nowyx - (tutaj x do ktorego ma trafic) i nowyy (to sAamo tylko z y), dajesz przejscie do nastepnego roomu, i bohaterowi w room_start nastawiasz x i y na nowyx i nowyy

Odnośnik do komentarza
Udostępnij na innych stronach

dotykasz obiektu o_teleport, ktory ustawia zmienną nowyx - (tutaj x do ktorego ma trafic) i nowyy (to sAamo tylko z y), dajesz przejscie do nastepnego roomu, i bohaterowi w room_start nastawiasz x i y na nowyx i nowyy

 

W teleporcie:

 

CREATE

global.newx = 0;

global.newy = 0;

 

COLLISION WITH o_bohater

global.newx = o_bohater.x;

global.newy = 1480;

room_goto_next();

 

w o_bohater:

 

ROOM START

o_bohater.x = global.newx;

o_bohater.y = global.newy;

 

 

 

Dziala, ale rowniez zaczyna przesuwac bohatera. Czuje sie totalnie bezsilny, w tym momencie bo probowalem roznych rzeczy:/

chce tylko przeniesc obiekt w inne miejsce na nastepnym roomie, nie rozumiem dlaczego GM jeszcze nadaje predkosc temu obiektowi :/

 

Ktos ma jakies inne pomysly?

 

 

EDIT

 

Dobra rozwiazalem problem. Wina moze lezec w tym ze obiekt o_bohater posiada takie oto zmienne:

 

CREATE

xx = x;

yy = y;

 

Jesli obiekcie o_teleport uzylem takiego oto kodu

room_goto_next();

with(o_bohater)

{

x =1000;

y =1000;

}

Obiekt zostawal przeniesiony do tego punktu i przesuwal sie do punktu w ktorym byl w poprzednim roomie.

 

Jesli uzylem kodu

room_goto_next();

with(o_bohater)

{

xx = 1000;

yy = 1000;

}

Wtedy obiekt z punktu w ktorym zaczynal w poprzednim roomie powoli przesuwal sie do punktu x:1000 y:1000

 

Wiec uzylem kodu

room_goto_next()

with(o_bohater)

{

x = 1000;

y = 1000;

xx = 1000;

yy = 1000;

}

 

I wszystko dziala jak nalezy :)

 

Dzieki wszystkim za pomoc!

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ę...