Deus Opublikowano 28 Listopada 2007 Udostępnij Opublikowano 28 Listopada 2007 Przede wszystkim pozdrawiam wszystkich GameMakerów :) adminów, moderatorów, i zwyczajnych userów tego forum. Na wstępie chciałbym zaznaczyć: Zaczynam pracę (zabawę jak kto woli) z Game Makerem 7.0 pro. Zanim zacząłem pisać tego posta, poświęciłem ok 2 godziny na zapoznanie się z forum. Już wcześniej próbowałem sił z tym programem ale z niezadowalającym efektem. Mógłbym pisać bardzo długo więc przechodze do sedna sprawy :P Planuję wykonać myślę że prostszą rzecz (nie tak jak większość osób - gry 3d zaawansowane rpg mmo itp) mianowicie coś w stylu talkbot'a - tzn. program w którym występuje miejsce do wpisywania tekstu i animacja postaci ;) np w gifie. Zrobiłem już kilka takich animacji (m.in. jak mówi mam na imie ... a ty?). widziałem na forum sporo postów z przykładami co trzeba poprawić aby działał textbox ale nie jak wykonać go od 0. Moje pytanie: czy się da i jak [prosiłbym o przykład] textbox w którym gdybym wpisał odpowiedź na w/w pytanie (imię) i kliknął enter aby uruchomiła się animacja i został odtworzony plik dźwiękowy np wav lub mp3 mówiące (miło mi cię poznać [wpisane do TextBoxa imię]). <znalazłem przykład konsoli wykonanej przez pieter6 - myślę że jeśli nie można wykonać tego w TB to może w consoli: w konsoli był przykład /say ... i się wyświetlał tekst - chciałbym aby zamiast wyświetlania tekstu uruchomiła się animacja i plik dźwiękowy > podkreślony tekst to takie skrócenie postu ;) (przypominam że animacje i pliki dźwiękowe mam wykonane). Przepraszam za spory pościk ale nie wiedziałem jak to skromniej napisać, z góry dziękuję za pomoc (moje dotychczasowe osiągnięcia: 1) przeróbka przykładu street racing tekst grafika poprawiona animacja pojazdów itp 2) wykonanie playera mp3 pobierającego pliki z zdefiniowanej w skrypcie ścieżki, przyciski <play, stop, zmiana utworu>) p.s. odpowiedzi na akcję: Text w TB + enter = akcja typu play sound lub play animation nie znalazłem a tylko o to mi chodzi :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cruel_boy Opublikowano 28 Listopada 2007 Udostępnij Opublikowano 28 Listopada 2007 do wpisywania tekstow uzyj funkcji keyboard_string i jezeli na piszesz np. Jacek to jedzie dalej :) ( wszystko za pomoca keyboard_string ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Deus Opublikowano 28 Listopada 2007 Autor Udostępnij Opublikowano 28 Listopada 2007 do wpisywania tekstow uzyj funkcji keyboard_string i jezeli na piszesz np. Jacek to jedzie dalej :) ( wszystko za pomoca keyboard_string ) No tak niby to takie proste (napisałem że widziałem na forum takie wycinki - zrób to , napisz to) ale niestety jako początkujący już 2 raz ;) mógłbym cię prosić o jakiś przykładzik? wyłbym wdzięczny. Jeżeli uda mi się osiągnąć zamierzony cel pokarzę efekty i oczywiście za pomoc (przykłady itp) umieszczę w kredytach. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cruel_boy Opublikowano 28 Listopada 2007 Udostępnij Opublikowano 28 Listopada 2007 Marek S. mial taki przyklad :) wystarczy poszukac ( bylo to w ktoryms temacie ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Deus Opublikowano 28 Listopada 2007 Autor Udostępnij Opublikowano 28 Listopada 2007 Marek S. mial taki przyklad chodzi ci o ten temat? https://forum.gmclan.org/index.php?showtopic=5910&hl= Jeśli tak to spoko, chociaż niezupełnie o to mi chodzi tzn. akcja - wpisz słowo jest ok, można dodać własne słowa. Teraz sprawa o którą mi chodzi, w tych przykładach jest "info" -otwiera się informacja :) "end" - zakoncz, a możesz ty bądź ktoś inny powiedzieć co trzeba wpisać aby odtworzyć dźwięk/animację? by może było jaśniej: if keyboard_string='end' game_end() - (zamknij grę) ok a co tu tzeba wpisać: if keyboard_string='imię' _____() - (dzwiek.wav) _____() - (odegraj animację) p.s. dzieki za wskazówkę gdzie szukać (szukałem przed napisaniem posta i nie znalazłem) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Maxpayn Opublikowano 28 Listopada 2007 Udostępnij Opublikowano 28 Listopada 2007 Btw. użyj do tego switch: switch( keyboard_string ) { case 'end': game_end(); break; case 'bla': //akcja break; ... } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Zychu Opublikowano 28 Listopada 2007 Udostępnij Opublikowano 28 Listopada 2007 create: text=' '; odpowiedz=' '; step: text=keyboard_string; draw: draw_text(20,400,text); draw_text(20,10,odpowiedz); press enter: if text='witaj' || text='czesc' || text='elo' { odpowiedz='dziendonbry' } if text='gupek' || text='brzydal' || text='idiota' { odpowiedz='nielubie cie!' } if text='dawaj dzwiek' { sound_play(sound1) //np. } ;) plosie Deus jestes spox nie wyglądasz na nooba xd edit: kurde sory za nawiasy pisałęm z glowy i tak jakos wyszlo xd Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Deus Opublikowano 28 Listopada 2007 Autor Udostępnij Opublikowano 28 Listopada 2007 Btw. użyj do tego switch: switch( keyboard_string ) { case 'end': game_end(); break; case 'bla': //akcja break; ... } dzięki za nowy przykład jak można zamknąć, przypominam że jestem nowicjuszem w tworzeniu :( , tak więc kolejny raz zapytam, co się pisze aby uzyskać tą akcję? - na twoim przykładzie: { case 'dzwiek': //____ ( jaka?) //open_sound czy jak? wpisywałem wszystko co mi do głowy przyszło i nic break; } Poza tym tamta wersja Marka jest chyba lepsza ale to nieistotne (dźwięk wav mam jak coś) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cruel_boy Opublikowano 28 Listopada 2007 Udostępnij Opublikowano 28 Listopada 2007 a nie lepiej play_sound(); ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Deus Opublikowano 28 Listopada 2007 Autor Udostępnij Opublikowano 28 Listopada 2007 dzięki Zychu :) wreszcie to o co mi chodziło: sound_play(moj_plik_wav). Jak robię całość tak jak mówisz pojawia mi się: __________________________________________ FATAL ERROR in action number 1 of Step Event for object object0: COMPILATION ERROR in code action Error in code at line 1: text=keyboard_string(); at position 6: Unknown function or script: keyboard_string aczkolwiek sprawa z dźwiekiem sie wyjaśniła dzięki tobie (odgrywa dźwięk po wpisaniu słowa - dźwięk) hmm. wiesz może co trzeba napisać aby po wpisaniu słowa (np: smutny - obrazek [wesoly.bmp] zmienił się na inny [np.smutny.bmp]? tzn. w klocku to jest "change sprite into" a w skrypcie (code)? Jak to wykonam jesteś w kredytach :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Deus Opublikowano 28 Listopada 2007 Autor Udostępnij Opublikowano 28 Listopada 2007 play_sound wywala błąd: sound_play jest ok ale teraz druga część z postu została. co zrobić bywpisze słowo (np: smutny - to obrazek [wesoly.bmp] zmienił się na inny [np.smutny.bmp]? tzn. w klocku to jest "change sprite into" a w skrypcie (code)? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Yoda Opublikowano 28 Listopada 2007 Udostępnij Opublikowano 28 Listopada 2007 @upup: co robią te nawiasy za keyboard_string? ;p @up: przy pomocy sprite_index=danysprite. Chyba że robisz na klockach :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Deus Opublikowano 29 Listopada 2007 Autor Udostępnij Opublikowano 29 Listopada 2007 właśnie staram się unikać klocków. dzieki za wyjaśnienie <keyboard_string bez nawiasów> :) powoli coś z tego wychodzi: rozmowa, dzwiek jest, zmiana emocji jeszcze nie dokońca :P i zmiana grafiki ---> sprite_index=mikei gdzie mikei to nowy sprite, stary to mike :) niestety nie działa. Już rozumiem to działa jeśli mamy 1 sprite a w nim kilka subimage. No a problem jest taki że te subimages za szybko (i same) się zmieniają. mi zależy aby zmienić sprite1 w sprite2 po wpisaniu słowa np. zmiana. Jeszcze taki problem gdy mam takie pole w którym wyświetla się odpowiedź: tutaj jest przykład problemu. https://gmclan.org/up2099_7_problem_z_tekstem.html Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Yoda Opublikowano 29 Listopada 2007 Udostępnij Opublikowano 29 Listopada 2007 Musi działać... I nieprawdą jest że: Już rozumiem to działa jeśli mamy 1 sprite a w nim kilka subimage. ;p możesz tak zmieniac dowolną grafikę... @up: uzyj string length Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 29 Listopada 2007 Udostępnij Opublikowano 29 Listopada 2007 masz maly przyklad: https://gmclan.org/up1105_11_simplebot.html Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Deus Opublikowano 29 Listopada 2007 Autor Udostępnij Opublikowano 29 Listopada 2007 możesz tak zmieniac dowolną grafikę... jak robię coś źle to proszę mnie popraw zapodam screenami aby było szybciej i łatwiej przeglądać Screeny jak i co wykonałem to pliki 1-6.gif: a drugi problem to ten osobny plik: https://gmclan.org/up2099.html /\ /\ /\ <dopisano:> I I I Dzieki za przykład PsichiX mniejwięcej do tego zmierzałem, hmm zaczynam to rozumiec tak więc został tylko problem z długością tekstu Sproboje z twojego wziac tylko to ze spritami :) próbuję coś z twojego zrozumiec ale już przy tym carrate=0 zwątpiłem (jakbyś miał chwilkę to mógłbyś conieco objaśnić) Nie chcę żeby myśleli o mnie noob bo nim nie jestem (na szczęście). Nie chcę zabierać czyichś przykładów po to aby mieć coś gotowe, co najwyrzej przeglądnąć gdzie sam robie błąd i poprawić hmm tu jest trochę inaczej tak więc komentarzyk co jest co by się przydał dla nowego :). Jeszcze raz thx p.s. aha, jak sie kończą pytania wyskakuje: ___________________________________________ ERROR in action number 1 of Draw Event for object object1: Error in code at line 3: if!(carrate<room_speed/2)draw_text(x,y,'[bot]: '+object0.say+'#[Ja]: '+object0.text+'_') at position 59: Wrong type of arguments to +. niestety nie znam się aż tak dobrze by to rozgryźć. zły typ argumentu dla + ? szczerze całej linijki nie rozumien. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 29 Listopada 2007 Udostępnij Opublikowano 29 Listopada 2007 carrate to zmienna odpowiadajaca za wyswietlanie karetki (migający znak '_') na koncu akcji z pytaniami, po kodzie pytanie+=1 daj: if(pytanie>ds_list_size(baza_pytan)-1)pytanie=0 // po skonczeniu zaczynaj pytac od nowa Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Deus Opublikowano 30 Listopada 2007 Autor Udostępnij Opublikowano 30 Listopada 2007 aha czyli ta karetka to ten migajacy kursor. Początkowo robiłem bez tego znaku, jak nie masz nic przeciwko to tą karetkę wykorzystam w swoim projekcie ;) w każdym razie wymyśliłem coś takiego: W Create: alarm[1]=5*room_speed W alarm: say='czekam na odpowiedź' W tej chwili czeka na odp na 1 pytanie. Gdy zada drugie nic sie nie dzieje. (nie czeka) _________________________________________________________ (1 punkt poprawiony < jak ustawić czas już wiem>) 1) co muszę zmienić i jak aby bot "czekał na odp" na każde pytanie. 2) co zrobić aby gdy wpisze koniec odpalił się dźwięk i dopiero po jego końcu zamknęło cały projekt? bo jak robię tak to zamyka od razu (bez dźwięku): if text='koniec' { sound_play(sound1) game_end() } 3) sprite index działa :thumbsup: a jak zrobię animację np gifa (w gimpie), 3 klatki, ustawię w nim zmiana klatki co 1000ms (1 sekunda) i bez zapętlenia (animacja rusza się tylko 1 raz) to w gimpie działa tak jak powinno. Gdy wrzucę go do GM jako sprite to zasuwa z prędkością pokoju (30) i wtedy animacja zmienia się w prędkości ok 100ms (jeden po drugim). <dodano> 4) jak musi wyglądać kod na powtórzenie pytania gdy powiem np: if text='nie znasz' { say='może znam' ([color=#CC0000]powtórzenie pytania 2[/color]) co wpisać ? } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 30 Listopada 2007 Udostępnij Opublikowano 30 Listopada 2007 2. create: endgame=0 twoj kod: if text='koniec' { sound_play(sound1) endgame=1 } potem w stepie na koncu: if(endgame) if!(sound_isplaying(sound1)) game_end() 3. w create: image_speed=0 image_index=0 kod zmiany sprita w stepie w switchu wykonania instrukcji bota: zamiast: sprite_index=sprite0 ... sprite_index=sprite1 ... sprite_index=sprite2 daj: image_index=0 ... image_index=1 ... image_index=2 4. if text='nie znasz' { say='może znam' pytanie-=1 // chodzi o to by po przejsciu pytania, pytanie mialo ten sam indeks } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Deus Opublikowano 30 Listopada 2007 Autor Udostępnij Opublikowano 30 Listopada 2007 4) dzieki za wyjaśnienie działa :thumbsup: 2) na razie mi nie wychodzi ale prawdzę jeszcze później czy może ja robię coś nie tak (jakiś błąd logiczny) 3) sprawdze później 1) trochę się wcześniej wyraziłem - nadal mam problem (działa mi tylko przy 1 pytaniu a nie przy wszystkich) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę