Skocz do zawartości

pankracy

Użytkownicy
  • Postów

    320
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    1

Treść opublikowana przez pankracy

  1. Kurcze...tylko jednego nie przewidziałem...Ja tego obecnego textboxa używam w całej grze..i jak tu dodam obrazki,to te obrazki będą mi się też pojawiać w samej grze..a ja chcę żeby wyłącznie w intrze gry pojawiły się te obrazki:-( No i kicha...
  2. ok wywalam stringi wstawiam obrazki robię kopie tego samego;D No ja póki swojej gry nie ukończę to muszę zostać na gms 1.4 A właśnie może się orientujesz...projekty z gms 1.4 można importować w gms 2.0?
  3. Tak mam możliwość podejrzenia kodu.Tak to wygląda trzy skrypty skrypt1 scr_ini global.textq=ds_queue_create(); global.text_get=true; skrypt 2 no_text if ( ds_queue_empty(global.textq) and global.text_get=true ) then return true else return false; skrypt 3 add_text //dodajemy tekst do kolejki var text; text=argument0; if !instance_exists(obj_text) then instance_create(0,0,obj_text); //poniewaz obj rozmowa nie ma opcji persistent (dla bezpieczenstwa) //tworzymy go gdy nie ma go na planszy ds_queue_enqueue(global.textq,text); i teraz tak wygląda obj_text create alpha=0; //przeswitywalnosc step=0; //kolejne zadanie przez nas wykonywane - KROK text=''; //tekst jaki mamy wyswietlic leght = 0; Step if not ds_queue_empty(global.textq) and global.text_get=true //jezeli [kolejka] nie jest pusta i mozna [pobrac tekst] { global.text_get=false;//wylacz pobieranie tekstu, aby funkcja sie juz nie wywolala, dopuki znowu nie bedzie true text=ds_queue_dequeue(global.textq);//pobierz tekst z kolejki step=1;//ustaw zadanie na jeden leght=0; } //KROK 1 if step=1 { //zmniejszamy przeswitywalnosc az do max. widocznosci (1) if alpha<1 then alpha+=0.1 else { //przeswitywalnosci juz nie ma, zatem skoncz wykonywanie tego skryptu alpha=1; step=2; } } //KROK 2 if step=2 { if leght<string_length(string(text)) then leght += 1; // Mozesz zmienic predkosc "drukowania" testu dodajac inna liczbe do zmiennej leght } //KROK 3 if step=3 { //teraz zwiekszaj przeswitywalnosc az do znikniecia (0) if alpha>0 then alpha-=0.1 else { //przeswituje juz tak ze bardziej nie moze alpha=0; text=''; global.text_get=true;//ustaw, ze mozna juz pobierac tekst step=0; } } step cd ///Sterowanie padem if(key_check_pressed(key.jump)) { event_perform(ev_keypress,vk_enter); //wykonaj event nacisniecia klawisza enter } Draw vx=view_xview[0]; vy=view_yview[0]; // ^^ dodatkowe zabezpieczenie gdybysmy wlaczyli viewy, jak nie ma wloczonych //i tak dziala jak nalezy //teraz malujemy tlo tekstu draw_set_alpha(alpha/2); draw_set_color(c_gray); draw_rectangle(vx+10,vy+550,vx+1000,vy+460,false); //teraz malujemy obwodke draw_set_alpha(alpha); draw_set_color(c_black); draw_rectangle(vx+10,vy+550,vx+1000,vy+460,true); //draw_rectangle(vx+10,vy+550,vx+1895,vy+460,true); //a teraz tekst, za pomoca draw_text_ext, zeby nie wyjechal poza prawa strone draw_set_color(c_black); draw_set_font(font_text); draw_set_halign(fa_left); draw_set_valign(fa_top); draw_text_ext(vx+12,vy+586-20-100-2,string_copy(string(text),1,round(leght)),-1,596); draw_set_alpha(1); Tą nową tablice muszę stworzyć w skrypcie domyślam się,tylko dla przykładu jak ma to wyglądać?
  4. Cześć wszystkim, Próbuje zrobić porządek w intrze gry;-) tzn mam textboxa i z tekstem i chciałbym odpowiednio wrzucić obrazki opisujące historie bohatera,które zmieniają się po pokazaniu się odpowiedniej części tekstu. A więc tak: add_text('Czesc Bohaterze co slychac .'); obrazek 1 add_text('Wszystko w porzadku a co u ciebie? .') obrazek 2 add_text('Wszystko w porzadku jade do pracy .') obrazek 3 add_text('A Ja musze w domu zostac .') obrazek 4 Tych obrazków mam 8 w create mam tak add_text('Czesc Bohaterze co slychac .'); add_text('Wszystko w porzadku a co u ciebie? .') add_text('Wszystko w porzadku jade do pracy .') add_text('A Ja musze w domu zostac .') w Step if no_text() then room_goto( swiat1); press<space> go to room swiat1
  5. Cześć wszystkim, Od jakiegoś czasu walczę z tłumaczeniem tekstów w grze Przykładowo z angielskiego na polski. Korzystam z gotowego projektu w swojej grze,który zakupiłem tutaj: https://marketplace.yoyogames.com/assets/317/multilanguage-and-translate Dodany mam też język polski. Jeśli chodzi o tłumaczenie całego menu gry,to działa idealnie. problem natomiast występuje jak próbuje przetłumaczyć jakikolwiek tekst w grze. Załóżmy mam w intrze grze textbox który wyświetla Mi tekst po angielsku w Create tego obiektu mam tak: Create add_text('Hi Herro what is your name?.'); teraz rozumiem,żeby zadziałało tłumaczenie,to muszę wywołać przez użycie funkcji gmt to dodaje tekst niżej przetłumaczony i ma on taką ostatecznie formę Create add_text('Hi Herro what is your name?.'); intro=gmt("Hej Bohaterze jak masz na imie?"); Następnie w included files plikach english.lang i polish.lang dodaje do słowników następujący tekst english.lang intro=Hi Herro what is your name? polish.lang intro=Hej Bohaterze jak masz na imie? Niestety i teraz pomimo wyboru języka z angielskiego na polski nie che mi przetłumaczyć tekstu. Nie wiem co robię nie tak..Ktoś Mi podpowie jak ten problem rozwiązać? Dziękuje
  6. Ta gra powstaje na GM:S? bo wygląda fenomenalnie;-) i trzymam kciuki
  7. Witam wszystkich. Szukam do pomocy odpłatnie programisty,który podjąłby się napisania kodu do mojej gry platformowej: 1.Uniwersalny gamepad,taki z konfiguracją klawiszy,gdzie pod konkretny klawisz będzie można ustawić ruch,zachowanie bohatera.Oczywiście,żeby działa animacja bohatera,czyli np jak przypisze się klawisze kursorów,to bohater idzie w danym kierunku,a nie szura się bez animacji itp.(niech będzie to w osobnym pokoju menu gry możliwość przypisania klawiszy) 2.Highscore zlicza pkt, monety, itd uaktywnia się po śmierci bohatera jak poziom życia spadnie do 0 po czym wpisuje sam wynik aktualny a nadpisuje stare, gdy lista 10 najlepszych wyników się zapełni. To wyświetli się lista wyników i przejdzie dalej po naciśnięciu przycisku enter do pokoju game over.(Obsługa bez myszki) Resztę rzeczy szczegółowo do omówienia w prywatnej korespondencji Pisać kto chętny.
  8. Widziałem na marketplace rozwiązanie bez użycia fizyki,ale wykorzystujące emitery.Myślę,że to do końca nie będzie dobre rozwiązanie,bo znacznie mogło byto wpłynąć na działanie mojej gry. Emitery mogą obciążać grę zresztą mam już swoją wodę...brakuje mi właśnie tego efektu obiektów,które znajdują się na wodzie. Obiekty które umieszczę na wodzie,to się na niej utrzymują nie spadają,kwestia tego żeby poruszały się na wodzie.Np kiedy wskoczę do wody i pływam,to wytwarza się fala...ale obiekty na wodzie są sztywne ciężko uzyskać ten efekt ruchu na wodzie. Nie wiem...może dać alarm w obiekcie,który znajdzie się na wodzie,że co np 1 sekundę będzie poruszał się? hmmm..ale to bez sensu może być... Na fizyce,to nie wiem jak to zrobić...jak ją włączę,to musiałbym i zapewne w bohaterze ją też włączyć,co by zepsuło moją całą grę.
  9. Dzięki Threef za radę.Twoje rozwiązanie jest praktyczniejsze;) znacznie przyspieszyła gra. Kurcze zabawa będzie z tą fizyką.Tam myślałem,że bez fizyki nic nie da się zrobić.
  10. To nieistotne wodę mam kod wody działa bardzo dobrze..a temat brzmi "obiekt falujący na wodzie i reagujący na gracza jak na nim ustanie" Chodzi o to,że jak na wodzie umieszczę skrzynkę,kładkę cokolwiek,to ma się w miarę naturalnie ruszać jak moja woda.I unosić się na górnej części tafli wody. Tak jak np pumeks ,który jest lekki nie tonie tylko unosi się na wodzie..o coś takiego mi się rozchodzi,ktoś próbował coś takiego z was zrobić? Dlatego się zapytałem,czy bez fizyki można to zrobić?
  11. Cześć wszystkim. Myślę nad tym jak zrobić żeby obiekt,który umieszczę na wodzie (załóżmy jest to kawałek drewna itp)zachowywał się bardzo naturalnie,czyli falował.Jak wskoczę bohaterem na ten obiekt co jest na wodzie,to zacznie się on lekko kołysać. Ja rozumiem,że bez fizyki się nie obędzie? Jak to w ogóle zrobić? Może podam niżej kod mojego obiektu wody. create GML ///Ustawienia zmiennych kolorWody = merge_color(c_blue,c_aqua,.3); disturbance = 1; howLiquid = 1; image_alpha = .4; for(i=0;i<=image_xscale*4;i++){ wY = 0; vspd = 0; } End Step GML ///Aktualizowanie if notInView() { exit; } with instance_place(x,y,par_entity) { if bbox_bottom <= other.y+32 { var xPlace = round((x-other.x)/8); if xPlace >= 0 && xPlace <= other.image_xscale*4 { other.vspd[xPlace] += vspd/2*weight; } for(i=1;i<abs(round(vspd*weight));i++){ if xPlace-i >= 0 && xPlace-i <= other.image_xscale*4 { other.vspd[xPlace-i] += (vspd/2*weight)-sign(vspd)*i*1.5; } if xPlace+i >= 0 && xPlace+i <= other.image_xscale*4 { other.vspd[xPlace+i] += (vspd/2*weight)-sign(vspd)*i*1.5; } } } } repeat(disturbance*image_xscale) { vspd[irandom(image_xscale*4)] += choose(.4,-.4); } for(i=0;i<=image_xscale*4;i++){ vspd = max(min(vspd,32),-32); wY += vspd*howLiquid; wY = max(min(wY,32),-32); vspd -= wY*.1; if i = image_xscale*4 || i = 0 || position_meeting(x+(i-1)*8,y-1,obj_woda) || position_meeting(x+(i+1)*8,y-1,obj_woda) || position_meeting(x+i*8,y-1,par_podloze) { wY = 0; } else { wY= mean(wY,wY[i-0.15],wY[i+0.15]); //bug z tablicami teraz powinno byc ok;/ } } Draw GML ///Rysowanie wody if notInView() { exit; } draw_set_color(kolorWody); draw_primitive_begin(pr_trianglestrip); for(i=0;i<=image_xscale*4;i++){ if i == 0 || i == image_xscale*4 { draw_set_alpha(0); } else { draw_set_alpha(image_alpha); } draw_vertex(x+i*8,bbox_bottom+1); draw_vertex(x+i*8,y+wY); } draw_primitive_end(); draw_primitive_begin(pr_trianglestrip); for(i=0;i<=image_xscale*4;i++){ draw_set_alpha(0); draw_vertex(x+i*8,y+wY+1); draw_set_alpha(-wY*10); draw_vertex(x+i*8,y+wY); } draw_primitive_end(); draw_set_alpha(1);
  12. Ok rozumiem;-) A reszte jal bylo w kodzie w create,step zostawiam bez zmian tylko skrypt to od Ciebie wrzucam ok dzięki;-)
  13. Garniec złota plus dobra flaszka;) jesteś niemożliwy Amaterasu ;] Orgin już linki stalowej ustawiłem odpowiednio w pozycji Y no dobra...w draw daje tak: GML draw_sprite_ext(argument0,argument1, x1+(x2-x1)*(sprite_get_xoffset(spr_linka)/sprite_get_width(spr_linka)), y1+(y2-y1)*(sprite_get_xoffset(spr_linka)/sprite_get_width(spr_linka)), point_distance(x1,y1,x2,y2)/sprite_get_width(spr_linka),1,point_direction(x1,y1,x2,y2),c_white,1); w stepie GML var x1,y1,x2,y2; x1=argument2; x2=argument4; y1=argument3; y2=argument5; w create rozumiem,że bez zmian zostaje... bo jest var więc nie muszę zmiennych żadnych definiować.. ale błąd mi wywala.. jak to poskładać teraz... create GML tmp_t=0; gamma=60; //Kat wychylenia wahadla ostrza nim=0; aspd=1; x2=x; y2=y; dis=100; step GML x=x2+dis*cos(degtorad(anim)); y=y2+dis*sin(degtorad(anim)); tmp_t+=8; //szybkosc wahadla anim=gamma*dsin(tmp_t)-280; draw GML ///Wyswietlany lancuch i ostrze for(a=0;a<7;a+=1) { draw_sprite(spr_lancuch_od_ostrza,0,x2+lengthdir_x(a*15,-anim),y2+lengthdir_y(a*15,-anim)); } draw_sprite_ext(sprite_index,image_index,round(x),round(y),image_xscale,image_yscale,image_angle,image_blend,image_alpha);
  14. Dzięki bardzo ładnie działa.. ustawiłem też inny kąt odchylenia i kierunek Mam jeszcze jedno pytanie..bo to się ładnie sprawdza przy cząstkowym spricie czyli draw_sprite_ext jak łącze to łańcuchem.. a co jak np mam sprita line stalową długą i chcę to połączyć z wahadłem? wtedy nie używać draw_sprite_ext rozumiem tylko innej funkcji? Załóżmy pomijam teraz łańcuch który składa się z jednego oczka a draw_sprite_ext samo narysuje mi kilka niżej oczek. mam teraz stalową linę jako całość jeden sprite,i nie chce np żeby mi coś dorysowało dodatkowo,tylko lina połączyła się ta stalowa z ostrzem? jak to wykonać w draw? tu niżej te draw sprawdza się np do łańcucha żeby połączyć z ostrzem,a jak to zrobić,że mam w całości sprite stalowa lina i chcę go z ostrzem połączyć? nie zmieniając wielkości tej stalowej liny? GML ///Wyswietlany lancuch i ostrze for(a=0;a<7;a+=1) { draw_sprite(spr_lancuch_od_ostrza,0,x2+lengthdir_x(a*15,-anim),y2+lengthdir_y(a*15,-anim)); } draw_sprite_ext(sprite_index,image_index,round(x),round(y),image_xscale,image_yscale,image_angle,image_blend,image_alpha);
  15. Cześć wszystkim.. narysowałem sobie sprite wahadło,który składa się z dwóch sprotów 1.ostrze 2.łańcuch(mam też linkę i trzpień jako osobny sprite) No i chciałbym,żeby poruszało się to w ruchu wahadłowym...jak to też połączyć sobą???? bo w jednym spricie to ja mam już kod,ale tam tak jest,że już łańcuch daje mi obrażenia,a nie tylko ostrze,co jest idiotyczne.. Znalazłem tu projekt podobny,ale tu jest ruch okrężny,a mi chodzi o ruch wahadłowy i jak te dwa elementy ze sobą połączyć.. ostrze jako obiekt ,który daje obrażenia łańcuch trzpień linka jako sprite który nie daje obrażeń tu ten kod na ruch okrężny..można byłoby go użyć wykorzystać na ruch wahadłowy create obj_ostrze GML anim=0; aspd=1; x2=x; y2=y; dis=100; step GML x=x2+dis*cos(degtorad(anim)); y=y2+dis*sin(degtorad(anim)); anim+=aspd; draw GML for(a=0;a<7;a+=1) { draw_sprite(sprLancuch,0,x2+lengthdir_x(a*15,-anim),y2+lengthdir_y(a*15,-anim)); } draw_sprite_ext(sprite_index,image_index,round(x),round(y),image_xscale,image_yscale,image_angle,image_blend,image_alpha);
  16. dzięki Suttiku po testuje to na alarmach;) co do chodzenia wroga to prawie jest dobrze,tylko w pozycji Y nie chce żeby mi go wykrywał,bo obecnie wykrywa i jak mnie już zobaczy,to jak szalony biega dopóki mu nie zejdę z pozycji Y,a chce żeby Y ignorował całkiem;) GML if(point_distance(xstart,0,obj_player.x,0) <= 250) { if(abs(y-obj_player.y)<32) && (obj_player.y>=y) move_towards_point(obj_player.x,y,5); } else if(distance_to_point(xstart,ystart)>2) move_towards_point(xstart,ystart,2);
  17. Czyli brakowało mi funkcji point_distance,dzięki... Co do with to działa bardzo dobrze chociaż faktycznie patrząc teraz na mój kod,to bez sensu jest powtórzenie tego... No dobra i ostatnie pytanie... chciałem wykorzystać image_alpha żeby osiągnąć efekt pojawiającego się wroga i zanikającego...O co dokładnie chodzi,a no o to,że wróg sobie spaceruje i co jakiś czas zanika prze chwilę,a potem znowu się pojawia...czyli zanika spacerując sobie...
  18. Cześć..mam taki problem... próbuje ustawić tak,że jak wróg mnie zobaczy na odpowiednim dystansie w pozycji wyłącznie x,to zaczyna mnie gonić aż zejdę z jego dystansu,a jak już zejdę z jego dystansu,to on wraca np do punktu początkowego tam gdzie mnie ostatnio widział i chodzi dalej spokojnie...I żeby nie skakał jak mnie goni. Zacząłem tu w kodzie grzebać,ale coś spierdzieliłem..ostatecznie udało mi się zrobić,że jak mnie zobaczył to gonił,ale już nie przestał mnie gonić... pomóżcie:/ GML ///Poruszanie sie ///AI wroga //wrog na odpowiednim dystansie jak nas zauwazy,to zaczyna gonic if distance_to_object(obj_player) <=80 { if(abs(y-obj_player.y)<32) && (obj_player.y>=y) move_towards_point(obj_player.x,obj_player.y,8); } else { if distance_to_object(obj_player) > 40 { move_towards_point(obj_player.x,y,0); } } if place_free(x,y+1) {gravity = 0.5} else {gravity = 0} if at=1 { at=2 speed=4 } if at=2 { if hspeed<0 { image_xscale = -1; if !place_meeting(x-30,y+10,par_podloze) speed*=-1 else if place_meeting(x-1,y,par_podloze ) speed*=-1 t=1 } else if hspeed>0 { image_xscale = 1; if !place_meeting(x+30,y+10,par_podloze) speed*=-1 else if place_meeting(x+1,y,par_podloze) speed*=-1 t=2 } } //Smierc wroga if hp<0 instance_destroy() // image_speed=0.5 // if hp<0 { instance_destroy() } //animacja image_speed=0.3 //Gdy wrog zostaje atakowany mruga if global.zegarObrazenWroga > 0 { visible = !visible; global.zegarObrazenWroga -= 1; } else { visible = true; } if hp <= 0 { instance_destroy(); dead = true; //wywolujemy alarm gdy wrog jest martwy //tworzymy losowa ilosc punktow po zabiciu wroga,oraz napis,ktory sie nad nim wyswietla z iloscia punktow losowych z = instance_create(x,y-10,obj_floating_txt); global.pScore+=pointvalue z.txt = "$" + string(pointvalue); z.yspeed = -4; with instance_create(x,y,obj_entity_die) with instance_create(x,y,obj_czupryniak_ginie) { image_xscale = other.image_xscale; image_yscale = other.image_yscale; hspd = other.hspd; vspd = other.vspd; audio_play_sound(dzwiek_wrog_ginie, 1, false); //odtwarzamy dzwiek przy smierci wroga } } // czasowy wskrzeszenie wroga po smierci if (dead == true) { instance_create(x,y,obj_spawn_czupryniak); }
  19. Dobrze nauczę się;) już się uczę;) działa jak należy ;) jesteś niemożliwy Kaktusie;) Powiedz mi jeszcze skąd u Ciebie pomysł na taką nazwę awatara?
  20. Ja tak już wcześniej robiłem,ale czołgista zaczął wariować..cały czas strzela mimo,że mnie nie widzi;) te Kaktusiku niżej rozwiązanie nie jest dobre;) GML if distance_to_object(obj_player) <=80 && (abs(y-obj_player.y)<32) && (obj_player.y>=y){ sprite_index = spr_czolgista_atakuje; }else{ sprite_index = spr_czolgista; } speed=0; if (obj_player.x>x) image_xscale=1; else if (obj_player.x<x) image_xscale=-1; if ( strzal ) { var i; var miejsce_x; i = instance_create( x+(image_xscale*25), y-15, obj_laser) i.speed = 7; i.hspeed=image_xscale*7; strzal = 0; alarm[0]=room_speed*1.5 } else { if alarm[1] = -1 alarm[1] = room_speed+random(room_speed*2); if (place_free(x+image_xscale*5,y) && instance_position(x+image_xscale*5,y+32,par_podloze)) x+=image_xscale*5; speed=4; }
  21. Czyli w warunku;) musze uwzględnić..że jak bohater oddali się na odpowiednią odległość,to sprite wroga czolgisty ataku powroci do pierwotnego stanu;)? GML if distance_to_object(obj_player) <=80 //jak nas widzi if distance_to_object(obj_player) > 100 //jak nas juz nie widzi
  22. Kaktusie jestem Ci wdzięczy za tą radę;) co do zmiany sprita na atakującego udało mi się,ale nie wiem,gdzie wstawić po jakim warunku,że jak się już oddale od wroga,to żeby zmienił się z powrotem na sprita normalnego... obecnie tak to wygląda step wroga GML if distance_to_object(obj_player) <=80 { if(abs(y-obj_player.y)<32) && (obj_player.y>=y) { sprite_index = spr_czolgista_atakuje;//to dziala i czolgista jak mnie widzi zmienia sprita na atakujacego speed=0; if (obj_player.x>x) image_xscale=1; else if (obj_player.x<x) image_xscale=-1; if ( strzal ) { var i; var miejsce_x; i = instance_create( x+(image_xscale*25), y-15, obj_laser) i.speed = 7; i.hspeed=image_xscale*7; strzal = 0; alarm[0]=room_speed*1.5 } } } else { if alarm[1] = -1 alarm[1] = room_speed+random(room_speed*2); if (place_free(x+image_xscale*5,y) && instance_position(x+image_xscale*5,y+32,par_podloze)) x+=image_xscale*5; speed=4; } //dalsza czesc kodu
  23. Kaktusie działa idealnie ..faktycznie Y powodowały to,że wróg z opóźnieniem czasem obracał się w stronę gracza i strzelał.teraz reaguje błyskawicznie,czy to jest z lewej,czy z prawej strony.. GML if distance_to_object(obj_player) <=80 { if(abs(y-obj_player.y)<32) && (obj_player.y>=y) //if(y-obj_player.y<32 && obj_player.y<=y) { speed=0; if (obj_player.x>x) image_xscale=1; else if (obj_player.x<x) image_xscale=-1; //reszta kodu Czyli tu nie da się zmienić sprita czołgisty na sprita ataku jak znajdę się w zasięgu czołgisty? i potem jak oddale się z tego zasięgu,to powróci czołgista do pierwotnego sprita?
×
×
  • Dodaj nową pozycję...