Skocz do zawartości

PRT

Użytkownicy
  • Postów

    131
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez PRT

  1. Patrząc na screen z nocy w świecie almory przyszło mi do głowy kilka fajnych, aczkolwiek niekoniecznie potrzebnych rzeczy ;) 1. Jakieś ćmy przy lampach.. ;P 2. Jakieś fajne odgłosy świerszczy ;), żeby wprawić w nastrój nocy. 3. Itemem jakimś specjalnym może być kawałek meteorytu ;p, który spada raz na jakiś czas. 4. Jakieś wspólne pieczenie kiełbasek ^^ no i do tego jakiś napój ;) W sumie to można cały czas marzyć i wymyślać coraz to wymyślne rzeczy ;)
  2. Mi jakoś muzyczka się podoba. Zobaczymy jeszcze ;) Może jakaś nowa się pojawi w wersji finalnej ;) Dziękuje za ocenki ;). Myślałem, że będzie gorzej.
  3. Dzięki, W sumie to na gwiazdkach mi nie zależy, a na wytknięciu mankamentów ;) Gdyż tylko to pozwoli mi dopracować grę ;) Co do fabuły wymyślona w sumie przy pisaniu posta. P.S Siedzę na tym forum już 3,5 roku, a to moja druga gra którą pokazuje :P Może to dlatego iż nie przykladałem się do GM'a (pierwszą grą było demo Król, starsi stażem pamiętają ;p)
  4. Tytuł: Magic Pyramid Gatunek: Zręcznościowo - logiczna Opis: Fabuła(próbna i błaha dla testów): Wszystko dzieje się w starożytnym Egipcie. Kiedy Faraonem zostaje Mefos II, cały lud wiwatuje, gdyż znany on był z swojego miłosierdzia i sowiej troski o lud. Takiego Faraona nie było od wieków. Przez pierwsze 15 lat, władca cieszył się ogromnym poparciem wśród ludu. Ta sytuacja zmieniła się gdy pewnej nocy Faraon został nawiedzony przez kapłanów, których pochodzenie nie było znane. Nie przypominali Egipcjan. Rzucili oni na Faraona klątwę, która miała go całkowicie zmienić. Po tej nocy państwo pogrążyło się w chaosie. Władca znienawidził swoich poddanych, wymyślał coraz to surowsze kary za błahe występki. Doszło do tego, że za pobicie, sprawca został zabijany. Na szczęście dla ludu, Faraon umarł 2 lata później. Przedtem zmniejszając liczbę ludności swojego kraju o połowę. Niestety mimo braku kremacji i wyrzucenia ciała na pustyni. Znaleźli się fanatycy którzy wybudowali piramidę dla Mefosa i pochowali go tam. Od wtedy miały miejsce niewyjaśnione zdarzenia. Znikali ludzie. Mówiono iż zaginieni ludzie zostali zabierani do piramidy byłego Faraona. Tak właśnie stało się z naszym głównym bohaterem. Pewnego wieczora zasnął i obudził się ,ale już w piramidzie. Ta okazała się być bardzo tajemniczą i magiczną. Grunt pod nogami nie był pewny, co chwile coś znikało. Słychać było muzykę którą grano faraonowi na ostatnich jego urodzinach. Pomóż bohaterowi uwolnić się z przeklętej piramidy! Download: Download Rozmiar pliku: ok. 5mb Autorzy: Programowanie: Paweł Tkacz Fabuła: Paweł Tkacz Grafika: Paweł Tkacz, Remigiusz Tkacz Muzyka: Ludzix Screeny: Menu Gra [1] Gra[2] Chciałem powiedzieć tylko, że pewne grafiki zostaną zastąpione nowymi ładniejszymi. Grę robiłem z zamiłowania do podobnej gierki w którą grałem za mojego dzieciństwa. Uwielbiam gry tego typu, być może i wam się spodoba. Wiem o: - nie działa krzyżyk w grze(ten okienkowy windowsa ;p) - ciężko spisać kod levelu nie tracąc na tym czasu. - Mogą być błędy w języku angielskim - pomoc nie jest przetłumaczona ;) - brak dźwięków Planowane : - pokazywanie wyniku w ciekawszy dla oka sposób - więcej leweli - więcej bonusów - dodanie dźwięków - lepsza fabuła +wasze pomysły Proszę o zgłaszanie zauważonych błędów.
  5. Witam mam drobny problem, nie jest bardzo ważny, ale na pewno trochę utrudnia poruszanie się w mojej grze ;) Chodzi o wczytywanie mapy skryptem z przykładu Tymona.(Edytor Plansz) GML if keyboard_check_released(vk_enter) && wygrana=-3 && rooom="wczytana" { prob+=1 czas=0 wygrana=0 plansza_otworz(cap+'.pla') } Warunek jest spełniony wszystko jest wykonywane, nawet plansze wczytuje ok , ale tylko za pierwszym razem. Kiedy warunek jest spełniony drugi raz, pojawia sie błąd GML ERROR in action number 1 of Destroy Event for object kontrolka: File not opened for reading. Błąd jest w evencie destroy gdyż kombinowałem i w różnych miejscach umieszczałem kod otworzenia planszy. Wiem co on oznacza, ale nie wiem dlaczego występuje :P Gdyż w skrypcie plik jest otwierany do czytania GML var _instance_count, _all_data; _all_data = ''; _instance_count = 0; file_open_read('plansze/'+argument0); _all_data = file_read_string(); file_close(); Dalsza część skryptu już tylko kopiuje odpowiednie stringi. Próbowałem różnych sposobów i zawsze albo za 2gim albo za 1szym razem to się pojawia. Pewnie jakiś błahy błąd, ale z plikami rzadko pracowałem, więc liczę na wasze doświadczenie ;)
  6. Witam, zastanawia mnie jedna rzecz. Jak zrobić aby w drawie wyświetliło mi nazwy wszystkich plików z jakiegoś folderu ? (u mnie chodzi o pliki txt).
  7. Witam, piszę AI. Do tego potrzebny mi był kod który znajdzie najbliższy obiekt o parencie PROWY, oraz przynależącym do odpowiedniego państwa ;). Oto kod z objaśnieniem. Acha nie patrzcie na klamry bo są wszystkie zamknięte tylk oto jest wycinek kodu ;P GML if wojsko>0 //jeżeli w ogóle są jakieś wojska w państwie { for(i=0;i<instance_count;i+=1) //pętla z obiektami { iii=instance_id // pobiera id kolejnego obiektu if instance_exists(iii) // sprawdza czy obiekt aby na pewno istnieje { parent=object_get_parent(iii) // pobiera parent danego obiektu if parent!=-1 // jeśli w ogóle parent istnieje { if parent="PROWY" // jeśli parent = PROWY , czyli obiekt jest prowincją { for(j=0;j<global.maxwojny;j+=1) // pętla z wojnami { if iii.panstwo=wojna[j] //jeśli nazwa państwa prowincji (iii) jest na liście wojen państwa z tym AI { for(k=0;k<maxwojska;k+=1) //pętla wojska { if obb[k].ruch=0 // jeżeli dane wojsko nie jest aktualnie w ruchu { obb[k].x=iii.x //to dane wojsko pojawia się na najbliższej prowincji państwa z którym mamy wojnę obb[k].y=iii.y //j.w ruch=1 // wojsko jest w ruchu } } } } } } } Teraz to jest prototyp ;) wojsko nie będzie znikało i pojawiało się w innym miejscu, ale to później dorobię, najpierw sprawy ogólne. Więc, kod zatrzymuje się na linij, kiedy jest sprawdzany czy parent!=-1. Wszystko co zanim, nie wykonuje się. Sprawdziłem, jest obiekt w roomie który ma parent PROWY , ba nawet są 2 (bo tylko 2 prowincje na razie ) Więc jest problem w object_get_parent gdyż pobiera zawsze -1 ;/ Być może da się ten kod napisać o wiele prościej, ale to są moje początki w pisaniu AI i każdy kolejny kod na pewno będzie bardziej zoptymalizowany. Starałem się wszystko ładnie wyjaśnić mam nadzieje, że rozwiążecie ten uciążliwy dla mnie problem.
  8. GML //przy kliknięciu na ikonkę dajesz ze np: buduj=1 //(globalnie lub lokalnie) // i tworzysz obiekt budynek instance_create(mouse_x,mouse_y,domek) // w stepie budynku dajesz if buduj=1 { x=mouse_x y=mouse_y } // w obiekcie budynek w evencie global mouse left released (lub dowolny przycisk ale globalny) // globalny ażeby móc wybrać miejsc gdziekolwiek buduj=0 // dzięki temu budynek stanie w miejscu // musisz dopasować to do swojej gry, i pamiętać o kolizjach tzn. żeby nie budować budynku na budynek itd. //może ten system nie jest najlepszy;) ale na pewno naprowadzi cię na dobry tok myślenia. A co do napisu na wierzchu to tak jak Yoda napisał. Jeśli coś jest rysowane na końcu(jako ostatnie w drawie) to jest na wierzchu. Także jest tak że jeśli obiekt ma depth(głębokość) mniejszą to jest wyżej więc i jego draw jest wyżej ;)
  9. właśnie tego spróbowałem ;) niestety żadnej zmiany dziwne, naprawdę dziwne.
  10. Podałem go, kiedy edytowałem poprzedniego posta. Oto on: GML tworz=string(global.nazwa[i,0]) obb=instance_create(0,0,ob) obb.panstwo=panstwo execute_string('prowincja='+tworz+'.nazwa'); Błąd pojawia się przy wykonywaniu execute_string.
  11. Nie nie ;) tzn: ja mam tak zapisane to: GML execute_string('prowincja='+tworz+'.nazwa'); a w treści błędu po prostu usunięty jest '+tworz+' , dlatego zostaje tam ta kropka ;)
  12. Taka jest treść błędu, tak jakby usunęło '+tworz+'
  13. GML COMPILATION ERROR in string to be executed Error in code at line 1: prowincja=.nazwa at position 11: Unexpected symbol in expression. pewnie jakaś gafa. kod: GML tworz=string(global.nazwa[i,0]) obb=instance_create(0,0,ob) obb.panstwo=panstwo execute_string('prowincja='+tworz+'.nazwa');
  14. Dziękuję bardzo ;) Drugi problem jest mniej ważny ;) EDIT: A jeśli chcę, zmiennej tworz(która przechowuje nazwę obiektu) dopisać zmienną lokalną tego obiektu ? ;P Czyli : GML jakas_zmienna=tworz.nazwa //tworz = string(nazwa_obiektu) pokazuje mi, że niepoprawny index, tego się spodziewałem jak to ubrać w execute_string. ;]
  15. Tyle, że ja dopiero go tworzę, więc nie ma on id(chyba, że źle to pojmuję ).
  16. Witam, coś się dzisiaj ze mną dzieje i nie myślę trzeźwo(jestem po podwójnej osiemnastce). Mianowicie chciałem wprowadzić taki kod, by tworzyło mi obiekty po kolei o nazwach p_xxx w miejsce xxx jakaś nazwa. Kod wyglądał tak GML for(i=0;i<lobiektow;i+=1) { tworz="p_"+string(global.nazwa[i,0]); instance_create(0+(i*50),1,string(tworz)) } w tablicy global.nazwa znajdują się zmienne tekstowe np "Kanapka" ;] istnieje obiekt p_Kanapka lecz nie tworzy się on ale jakiś inny ;] Tu moje pytanie czy można w funkcji instance_create dać zamiast nazwy obiektu , zmienną ? Jeśli tak to jak to dokładnie zrobić ;]. Drugie pytanie to, jeśli mam 2 identyczne obiekty(pod względem spritów również) i leża one dokładnie na sobie. Złudnie przypominając jeden obiekt, to czy da się zrobić tak by po kliknięciu na niego zareagował tylko ten na powierzchni ;] mają ten sam depth. W tym pytaniu chodzi mi głównie o naprowadzenie, jak to zrobić ;)
  17. Dokładnie ;) Wina tkwi teraz w linijce rysowania paska który ładuje się procentowo ;] GML draw_line_width_color(global.pokaz.x,global.pokaz.y,global.pokaz.xxx,global.pokaz.yyy,3,c_red,c_red) Pewnie przez jakieś obliczenia z pierwszego postu , to już jakoś znajdę ;) Dzięki Yoda. Edit: dokładnie tu zamula diss=dis*procent/100 :P a winą było że na początku procent=0 ;] dałem 1 i już śmiga
  18. No więc zadziałało ;) ale istnieje inny problem przed narysowaniem tej linii zużycie procesora skacze do 100% po kilku sekundach pojawia się linia i gra idzie dalej :P dziwne ;]
  19. @Misiek999 chyba dokładnie nie przeczytałeś. EDIT: za wolno pisałem :) @Yoda niestety istnieje tzn kiedy usunę te x+ i y+ jak napisałem w 1-szym poście to pod global.patrz mam normalnie id. Naprawdę mnie to zadziwia ;P
  20. Zastosowałem procent dla efektu ładowania się paska. Wyświetlane są dwie linie węższa i szersza. Szersza ma długość np: 100 (ten współczynnik się zmienia) A węższa stanowi jakiś procent długości pierwszej. procent dodawany jest co jakiś czas w alarmach aż do uzyskania 100% czyli długości szerszej linii. Nie ma tego pokazanego w kodzie ;) A co do twojego spostrzeżenia: global.pokaz - zmienna przechowuje id obiektu wojo (jest ich kilka) więc global.pokaz.YY i global.pokaz.XX nie są globalne lecz lokalne w obiekcie o tymże id. Kod błędu dla większego zobrazowania problemu ;p GML ERROR in action number 1 of Mouse Event for Glob Right Released for object pokoj: Error in code at line 4: global.pokaz.XX=idda.x at position 23: Unknown variable x
  21. Witam, mam dość dziwny problem. Mam taki kod: GML //Obiekt wojo , Event step if ruch=1 { dis=distance_to_point(XX,YY) //dystans diss=dis*procent/100 // procent dir=point_direction(x,y,XX,YY) // kierunek xxx=x+lengthdir_x(diss,dir) yyy=y+lengthdir_y(diss,dir) } //Obiekt pokoj , Event Global Right Released if global.wojo=1 //warunek { idda=instance_position(mouse_x,mouse_y,PROWY) //podlożenie idd obiektu pod idda global.pokaz.XX=idda.x // podpisanie pod zmienna XX pozycji x obiektu idda global.pokaz.YY=idda.y // j.w tyle że y. global.pokaz.ruch=1 //reszta global.pokaz.alarm[0]=global.pokaz.predkosc //reszta } Podałem te dwa kody bo gdzieś tu musi być jakiś błąd. Przy uruchomieniu programu, kiedy kliknę prawym przyciskiem , to wyskakuje błąd że nie znaleziono zmiennej x w Obiekcie pokoj, evencie Global right released. Chodzi o linię global.pokaz.XX=idda.x Dopiero kiedy z tego pierwszego kodu GML xxx=x+lengthdir_x(diss,dir) yyy=y+lengthdir_y(diss,dir) usunę(o dziwo) x+ i y+ czyli ozstanie GML xxx=lengthdir_x(diss,dir) yyy=lengthdir_y(diss,dir) błąd nie wyskakuje ale za to nie mam pożądanego efektu ;) Naprawdę nie wiem co mam zrobić. Z góry dziękuję za pomoc ;) P.S Jeszcze działa kiedy zamiast (w lengthdir) diss i dir wpisze byle jakie liczby ;] ,ale to musi być uzależnione od zmiennych.
  22. Mam problem podczas pisania kody kiedy chcę wpisać polską literę alt+s lub alt+e to wyskakują mi kolejno dla 'ę' okienko Extension Packages a dla 'ś' tworzy się nowy sprit. Da się to jakoś wyłączyć ?.. wcześniej było normalnie.
  23. Otóż chciałem zrobić sztuczna inteligencje dla działka ktore wystzreliwuje pocisk w gore pod kątem 45 lub 135 stopni , pocisk powoli opada i trafia z 100% skutecznością(narazie) w cel. Próbowałem w różno raki sposób uzależnić speed nadany pociskowi przy grawitacji 0.4 od odległości od celu, ale mi to nie wyszło, więc wziąłem się za narysowanie takiego lotu pocisku . Nie będe przytaczał tu skryptu bo nie jest to ważne etraz. Chodzi mi że mjąc podane: direction = 45 (prawo) 135 (lewo) grawitacje=0.4 i odległość wyliczona funkcja distance_to_object Obliczyć : speed pocisku potrzebny aby przeleciał on lukiem i trafił w punkt oddalony o tą odległość. Proszę nakierujcie mnie (może jakieś wzory ?)
  24. PRT

    Krzywe

    Jesteś wielki ;) P.S 3 Rok na forum i mam już Kadeta (szok) ostro.
  25. Próbowałem przerobić przykład Tymona na moją grę ale nie dało(em) rady ;) W moim przykładzie znajdziecie chyba najprostszy system ruchu jaki ja użyłem, Chciałbym aby ktoś przerobił, lub powiedział (w miarę łatwym językiem) jak zrobić aby mój zielony kwadrat wchodził po tych skosach i po tej takiej fali(zobaczycie w przykładzie ) Będę bardzo wdzięczny. LINK: https://gmclan.org/up87_12_asd.html P.S dlaczego przy skoku i przytrzymaniu lewego klawisza ten zielony kwadrat wbija się w ściankę(a z prawym klawiszem nie) ? xD P.S2 Po 3 godzinach męczenia się doszedłem do takiego kodu. Działa ale nie tak jak chcę postać czasami jakby haczy. I po ukosach innych niż 45 stopni bardzo haczy ;) Dlatego proszę o pomoc xx=lengthdir_x(1,45); if place_free(x+xx,y-1){ x+=xx; y-=1;
×
×
  • Dodaj nową pozycję...