Skocz do zawartości

RTS


Remx

Rekomendowane odpowiedzi

Hmm teraz trudne jak dlamnie pytanie :P

 

Mam room1 buduje jednostki uzywając stylu RTS

 

a teraz jak je przenieść to do room2 :( ??

 

myślałem o czymś takim ze room1 to koszary

w pewnym miejscu staly by cięzarówki lub portale kupujemy w baraku jednostki one zaś wchodza nam do cięzarówki lub teleportala jak juz kupimy sobie armie klikamy [GO!] i przenosi nas na plansze room2 w wyznaczone miejsce do strefy rozstawienia jednostek, tych strref było by maxymalnie 6 oczywiście ciężarówek też ale to by zalezało od ilośći armi naprzykład kupili byśmy tylko 4 odziały to przyjecahły by do room2 tylko 4 cięzarówki

do takiej cięzarówki może wejść tylko jeden odział czli od 4 do 12 rzołnieży +sierżant + kapitan +model pojednynczy + 3x specjaliści czyli razem 18 jednostek maxymalnie a minimalnie 5 nawet jak kupimy jakis pojazd to sie on zalicza do modeli pojedynczych :)

 

wiec tak po zakupach przenosimy sie do room2 jednostki wysiadają w strefach do tego przystosowanych 1 strefa na jeden oddział po rozstawieniu naszym i przeciwnika klikamy przycisk "GOTÓW" i zaczyna sie normalna gra na tury.

Odnośnik do komentarza
Udostępnij na innych stronach

persistent=true;

 

Pamiętaj zeby wylaczyc tą wlasciwosc jak juz przeniesiesz sie do strefy rozstawiania jednostek... w przeciwnym wypadku jesli znow wejdziesz do koszarow jednostki z pola bitwy tez sie tam znajdą... no chyba ze podczas gry do koszarow mozna bedzie wejsc tylko raz......

Odnośnik do komentarza
Udostępnij na innych stronach

Hmm jeszcze jedno małe pytanko <_<

 

Bo naprzykład postacie maja wielkość 50x50 pikseli ale w koszarach chce aby byly naprzykład 10x10

a dopiero w room2 przyjmowały prawidłowy rozmiar bo koszary chce zrobić na jednym ekranie a gdy wyprodukuje sie ze 60 jednostek to na ekranie sie nie zmieszczą ich ciężarówki :D bo zaprojektowałem juz jedna i jej wymiary to 720x135 pixeli a tak po zmniejszeniu taka ciezarowka była by mniesza wiecej niz połowe :)

 

Dzieki za powysze odpowiedzi

do koszar bedzie mozna wejsc tylko raz

po uruchomieniu gry i wyborze planszy pojawią sie koszary a po nich juz tylko jazda na poligon i walka :)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

a jak nie, to sprite_index=nazwa_malego, tylko najlepiej jak duzy i maly obrazek bedzie mial zrobione x i y na srodku w opcjach spritesa, to wtedy sie bedzie zawsze wyswietlal w tym samm miejscu, w przeciwnym razie ten maly sie bedzie lekko przesuwal w lewo i góre

Odnośnik do komentarza
Udostępnij na innych stronach

co do tego przykladu puper to on jest po czesci po niemiecku wiec sie za duzo nieda sie dowiedziec z niego ale juz doszedlem do tego co chciałem :)

 

i teraz mam kolejne pytanko

 

Czy da sie jakoś wysłać objekt z room1 do room2 we wskazane x i y bez chwilowego przechodzenia tam

 

chodzi mi ze mam te koszary w room1 kupuje odział A i klikam "Go to Poligon" i one znikaja i pojawiaja sie tam na poligonie room2 w jakims obrzasze x,y

 

nastepnie kupuje odzial B i znow klikam go to poligon ale tym razem jada w inne miejsce x i y rowniez przezemnie wskazane w srodku kodu.

 

i tak max mozna zrobic 6 razy minimum raz byl by rowniez przycisk "START" lecz gdy go nacisniemy, my sami sie tam przenisiemy i mozemy zaczac gre wciskajac przycisk "gotow"

Odnośnik do komentarza
Udostępnij na innych stronach

hmm co do przechodzenia z room1 do room2 moja postac niechce przechodzic a jak zrobie jakiis barak czy drzewko prersistent to przechodzi a ludek niechce :/

 

a tu mam kawałek polecenia z helpa tylko ze ja tego nie rozumie czy ktos moze mi powiedziec co jest co ?

sprite_scale(ind,xscale,yscale,quality,corner,resize)

Scales the image(s) in the sprite with factor xscale and yscale. quality indicates the quality (1-9). resize indicates whether the image must be resized. corner indicates the for the original image (1-9 as in the numberic keypad) if the image is not resized.

 

jeszcze pomecze sie z miniaturkami

Odnośnik do komentarza
Udostępnij na innych stronach

Z tymi oddziałami to ja bym zrobił inaczej.

 

ustawiasz tablice i zmienną i:

odzialy[m,n];
i=;

 

i jak klikasz na "Go to poligon" to zapisujesz do tablicy i zwiększasz 'i':

odzialy[i,1]=nazwa_obiektu;
odzialy[i,2]=miejsce_x;
odzialy[i,3]=miejsce_y;
i+=1;

i tak 6 razy i będziesz miał zapisane w tablicy obiekty, a jak przechodzisz do room_poligon to odczytujesz:

j=1;
repeat
{
instance_create(odzialy[i,1],odzialy[i,2],odzialy[i,3])
}
until (i=7)

 

i cała filozofia ;] Mogą gdzieś być błędy bo dawno do GMLa nie zaglądałem ;]

Odnośnik do komentarza
Udostępnij na innych stronach

O :) to jest dobre zaraz sprawdze czy to działa najwyżej troszke zmienie :)

 

I znow mam problem :(

 

bo mam tak jak klikne na przycisk to chcem aby glbalna zmienna zmniejszala sie o jeden

 

i mam tak wpisane

 

event: mouse_left_button

 

global.team-=1;

 

owszem zmniejsza sie global.team ale nie o 1 a o grom go wie ile :( po minus 190 nieraz skacze )

Odnośnik do komentarza
Udostępnij na innych stronach

Tak juz to zrobiłem :)

Baraki zastąpiłem menu ktre sie pojawia odrazu po wejsciu na plac boju

a przycisk który odpowiadał za go to poligon teraz zwie się redy co pwoduje ze zaczynamy odrazu gre a figurki rozstawiają sie automatycznie w miejscach do tego stworzonch

 

 

a co do global.team-=1 to miałem głupiego buga włąsnie przez te koszary jak zlikwidowałem skrypty z baraków odrazu zaczeło to normalnie działać.

Odnośnik do komentarza
Udostępnij na innych stronach

eh nerwica mnie bieze teraz zastosowałem klikanie gdzie indziej i zamiast skakac co +1 to skacze grom go wie o ile :ranting2:

 

mam to w przycisku [+]

mouse: left_button

global.trop+=1

 

 

a to w przycisku [-]

mouse: left_button

global.trop-=1

 

 

Mugł by ktoś napisać mi jak prawidłowo powinno to wyglądać nie skakać tak co xx tylko o te +1 lub -1 :(

 

Dzieki i Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

eh przepraszam ze przeklinam ale cholera jasna niechce mi nic działać próbowałem z tym co jest powyżej i nic :(

 

niemam juz pomysłów

co dziwne na tm samym ekranie uzywam podobnego klikania ale na inny przycisk i tamto działa :(

 

tutaj jest przykład

 

Przykład

 

 

gdy klikamy na przycisk [arrange] u góry skaczą nam tabliczki z Team i to działa poprawnie ale gdy przycisniemy przycisk [Light Infanry] to te plusy i minusy działają owszem ale nie o +1 lub -1 skacze a odrazu o xxx :(

 

zrobiłem w +/- ograniczenie ze skala jest od 4 do 12 i o te progi sięobija :( ale chcę aby to skakało co jeden :(

 

Pozdrawiam

 

ps: może jest jakiś klocek co ma w sobie takie cuś??

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

Chyba nie przeszukałeś dokładnie helpa:

 

mouse_clear(button) Clears the state of the mouse button. This means that it will no longer generate mouse events until the player releases it and presses it again.

 

Co oznacza, że czyści status klawisza myszy określonego w nawiasie, czyli nie będzie generowane dalsze zdarzenie kliknięcia myszką (o ile takowe aktualnie było) dopóki nie puści się klawisza i nie wciśnie ponownie.

 

Wystarczy ten kodzik dać zaraz po twoim zdarzeniu i licznik nie powinień szaleć. Jeżeli coś tam zmajstrowałeś, to powróć do najprostszego warunku i dopisz pod koniec tego warunku funkcję, którą napisałem w tym poście. Jeżeli nie zadziała, to znaczy, że gdzieś popełniłeś błąd.

Odnośnik do komentarza
Udostępnij na innych stronach

Poniżej jest do ściągnięcia pliczek gmd z tym problemem

 

Przykład gmd

 

..........................

Zaraz zobacze z tym mouse_clear(button) jak coś będe dalej męćzył was :P

 

 

Edit: ma ktoś z was ostre żyletki ?? bo chcę iść pochlastać się nimi :twisted:

Nawet mouse_clear nie pomaga :crying:

Odnośnik do komentarza
Udostępnij na innych stronach

:twisted: :thumbsup: nareście poradziłem sobie z tąchalerką

miałem w draw

if global.target=id then

 

instance create(x,y,o_blabla);

 

zmieniłem to teraz tylko zostało mi cus takiego jak te wszystkie przyciski teraz pochowac :( gdy klikne gdzies inndziej (+/-)

 

............................................

 

Czy jak wpisze takie cus to program bedzie mocno obicązony ??

 

If global.target!= (numer ID objektu ktory miałem wczescniej kliknac)
instance_deactivate_object(obj)
else
instance_activate_object(obj)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

Nie obciąży. Po to są active i deactivate, żeby odciążać procka. Poza tym pamiętaj, że break niei powoduje zakończenie parsowania danego kodu. Break służy tylko i wyłącznie do przerywania pętli while, until i for (continue powoduje zakończenie parsowania danego obiegu pętli i przejście do następnego, a break zupełnie kończy pętlę). Z tego co widziałem, to ty break powstawiałeś do if'ów itp. Usuń je stamtąd, bo tylko kod sobie zaśmiecasz. :)

Odnośnik do komentarza
Udostępnij na innych stronach

Dzieki za Pomoc :) nom juz mi dział wszytko :)

I zabieram sie za wywalanie Brak'ów ;)

 

Eh myslałem na początku ze w miesiąc zrobie całą gre ale jak zaczołem pisać na nowo gre w innej doskonalszej formie to odrazu tez i data wydania przedłuzyła sie o xxx dni :) stronke www zaktualizuje jak napisze demko w miare działajace bo jak narazie mecze sie menu tworzenia wojsk.

 

 

Pozdrawiam

 

 

ps: nie myślcie że już pytań nie bedzie :P niebawem zapewne jakieś się znajdzie :P

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