Skocz do zawartości

Cygnus

Użytkownicy
  • Postów

    330
  • Dołączył

  • Ostatnia wizyta

O Cygnus

  • Urodziny 20.06.1979

Informacje

  • Team
    Cygnus Games

O mnie

  • Płeć
    Male
  • Adres www
  • Hobby
    Grafika 2D,3D,fotografia,sieci komputerowe,systemy,elektronika,film,muzyka,psychologia.

Osiągnięcia Cygnus

Forum Veteran

Forum Veteran (6/13)

0

Reputacja

  1. Witam wszystkich stworzyłem sobie tabele wyników..i w osobnym pokoju (bo tam mam ten obiekt)wyświetla mi parę pozycji między innymi imię,ilość zabitych wrogów,ilość monet zebranych i ilość punktów zgromadzonych. No,ale teraz chciałbym,żebym mógł dokonywać wpisu w momencie,kiedy zginę w grze i jak osiągnę odpowiednią ilość punktów,(bo ustawione mam tak sortowanie względem punktów) to wyświetli się informacja z podaniem swojego imienia i nastąpi wpis ,który wyświetli się w osobnym pokoju,i po tym pokój game over,a jak nie będę miał wystarczającej ilości punktów,to tylko tabelka pojawi się z wynikami.a potem plansza game over. Walczę z tym i nie wiem jak to rozgryźć.. jeśli chodzi o moje zmienne w grze to mam globalne,czyli global.life,global,coins,global.pScore tutaj kod mojej tabelki wyników,która jest w osobnym pokoju.. create GML hiscore_list = ds_list_create(); temp_hiscore_list = ds_list_create(); hiscore_pos_lenthg = 4; hiscore_max_list_length = 10; hiscore_sort_by = 3; name = "John"; kills = 3; coins = 5; points = 7; ds_list_add(hiscore_list,name); ds_list_add(hiscore_list,kills); ds_list_add(hiscore_list,coins); ds_list_add(hiscore_list,points); name = "Sean"; kills = 3; coins = 11; points = 2; ds_list_add(hiscore_list,name); ds_list_add(hiscore_list,kills); ds_list_add(hiscore_list,coins); ds_list_add(hiscore_list,points); name = "Bob"; kills = 17; coins = 5; points = 1; ds_list_add(hiscore_list,name); ds_list_add(hiscore_list,kills); ds_list_add(hiscore_list,coins); ds_list_add(hiscore_list,points); name = "Jimmy"; kills = 3; coins = 3; points = 21; ds_list_add(hiscore_list,name); ds_list_add(hiscore_list,kills); ds_list_add(hiscore_list,coins); ds_list_add(hiscore_list,points); step GML //sortowanie tabeli osiagniec ds_list_clear(temp_hiscore_list); do { var temp_highest_points = 0; for(p = 0; p < ds_list_size(hiscore_list); p += hiscore_pos_lenthg) { points = ds_list_find_value(hiscore_list, p + 3); if points > temp_highest_points {temp_highest_points = points} } var highest_position = 0; highest_position = ds_list_find_index(hiscore_list, temp_highest_points); name = ds_list_find_value(hiscore_list, highest_position -3); kills = ds_list_find_value(hiscore_list, highest_position -2); coins = ds_list_find_value(hiscore_list, highest_position -1); points = ds_list_find_value(hiscore_list, highest_position); ds_list_add(temp_hiscore_list,name); ds_list_add(temp_hiscore_list,kills); ds_list_add(temp_hiscore_list,coins); ds_list_add(temp_hiscore_list,points); repeat (4) {ds_list_delete(hiscore_list, highest_position -3)}; } until ds_list_size(hiscore_list) = 0; //sortowanie tabeli osiagniec ds_list_copy(hiscore_list,temp_hiscore_list); draw GML //rysowanie tabeli osiagniec var leftx = 20; var topy = 20; var xspacing = 200; var yspacing = 5; for(p = 0; p < ds_list_size(hiscore_list); p += hiscore_pos_lenthg) { name = ds_list_find_value(hiscore_list, p + 0); kills = ds_list_find_value(hiscore_list, p + 1); coins = ds_list_find_value(hiscore_list, p + 2); points = ds_list_find_value(hiscore_list, p + 3); draw_text(leftx + xspacing * 0, topy + yspacing * p, string(ceil(p/hiscore_pos_lenthg)) + "."); draw_text(leftx + xspacing * 1, topy + yspacing * p, "name : " + string(name)); draw_text(leftx + xspacing * 2, topy + yspacing * p, "kills : " + string(kills)); draw_text(leftx + xspacing * 3, topy + yspacing * p, "coins : " + string(coins)); draw_text(leftx + xspacing * 4, topy + yspacing * p, "score : " + string(points)); }
  2. Skomplikowana rzecz,też się z pochodnią borykam tak jak ty:/
  3. Thref właśnie testuje na swoich wartościach..Dziękuje;)
  4. Dziękuje Threef wszystko działa jak należy;] zrobiłem tak: w create obj rura dałem GML direction=180 //nadaje lewy kierunek ognia strzelam=true licznik_czasu=0 a w stepie tak jak mi podałeś czyli GML if(strzelam == true) { scr_Fire(x,y,(direction-5)+random(10),2) licznik_czasu-- if(licznik_czasu<=0) { strzelam=false licznik_czasu=200 } } else { //Nie strzelam licznik_czasu-- if(licznik_czasu<=0) { strzelam=true licznik_czasu=400 } } to samo zrobiłem w drugim stanie super działa..jeszcze raz dziękuje.
  5. Gnysku inaczej...poradziłem sobie z miotaczem..ale zmieniłem całkowicie kod ognia i kod rury,mam tylko jeden problem,a mianowicie taki,że chce zrobić przerwe np 2 sekundową,bo teraz non stop obiekt pali się ładnym miotaczem ognia.. a,wiec tak stworzyłem skrypt a w nim: GML repeat (1+floor(random(argument3))){ fire1=instance_create(argument0,argument1,obj_ogien1) fire1.direction=argument2 fire2=instance_create(argument0,argument1,obj_ogien2) fire2.direction=argument2 i teraz ładne z tym skryptem działa ognisty miotacz tu obiekt,z ktrego wydobywa się ogień w tym przypadku lewa rurka obj_rura_ogniowa_lewa create GML direction=180 //nadaje ogniu kierunek lewy</span> step GML scr_Fire(x,y,(direction-5)+random(10),2) no i teraz chciałbym,żeby z odstępami miotacz się palił,a nie cały czas bez przerwy
  6. Gnysek to jest właśnie wyżej cały kod tego miotacza..ja myślę,że gdzieś w stepie muszę dać warunek żeby wiązka ognia paliła się dłużej,a nie pufała.. zrobiłem jeszcze do tego sprite w postać stożka..co nadał kształt wiązce ognia..ale jak mówię takie pufanie krótkie jest,a nie długa wiązka ognia.
  7. Właśnie to zrobiłem dałem mniejszą liczbę i dalej pufa...zamiast długiego płomienia:/ kurcze Po za tym tym chyba przezroczystość się ustawia
  8. Cześć wszystkim chciałbym stworzyć obiekt,pułapkę,który wypuszcza ogień(taką długą strugę ognia) No i mam tutaj podobny kod,który skorzystałem z yoyogames,ale zamiast długą strugą ognia puszczać ,to obiekt pułapka puszcza mi krótko ogień...takie pufanie zamiast miotacza ognia... Co jest nie tak? tutaj kod ognia obj_ogien create GML speed=1 size=.05 sterp GML image_angle+=4 if size<1.5 size+=random(.01)+.01 if size>1 image_alpha-=.03 if image_alpha<=0 instance_destroy() if speed<=4 speed+=.1 draw GML draw_set_blend_mode(1) draw_sprite_ext(sprite_index,image_index,x,y,size,size,image_angle,c_white,image_alpha) draw_set_blend_mode(0) a tu obiekt,z którego ma wydobywać się czasowo struga ognia... obj_rura_ogniowa_lewa create GML strzal=1; image_speed =0; image_index =0; alarm 0 GML strzal=1; step GML if( strzal ) { var i; i = instance_create( x, y, obj_ogien );//tworzy ogien i. direction=180 //nadaje ogniowi kierunek w lewa strone i.speed = 5; //predkosc ognia strzal = 0; alarm[0] = room_speed * 0.4; //Odleglosc w czasie w jakim ma strzelac ogien }
  9. Cześć wszystkim Od paru dni próbuje ustawić tekst w textboxie,które zaimportowałem sobie ze sklepu marketplace z yoyogames.com Dokładnie ten link do textboxa No i problem jest taki,że jak go zaimportuje do swojego projektu,to tekst mi się w nim nakłada na siebie..dziwna to sytuacja,bo jak np zaimportuje go do nowego projektu pustego,to jest normalnie,a w moim już nie.Próbowałem i czcionkę zmienić,ale to nic nie daje.. Tutaj kod textboxa obj_textbox create GML /* skrypty, zawierają wszystkie niezbędne informacje na temat wszystkich z poniższych funkcji. */ // Zainicjowanie silnika CTB ctb_init(); // Oznaczenie tego obiektu jako pole tekstowe ctb_create(); // Dodawanie kilku ikon icon_typing = spr_ico_typing_small; icon_finished = spr_ico_continue_small; // Dodawanie kilku kolorow ctb_add_color( "default", c_white ); ctb_add_color( "white", c_white ); ctb_add_color( "blue", c_blue ); ctb_add_color( "yellow", c_yellow ); ctb_add_color( "red", c_red ); // Dodawanie kilku czcionek ctb_add_font( "default", f_normal ); ctb_add_font( "normal", f_normal ); ctb_add_font( "other", f_other ); // Dodawanie dzwieku ctb_add_sound( "gun", snd_gun ); // Dodawanie niestandardowego polecenia, aby zmienić charakter obrazu char_sprite = spr_char; ctb_add_command( "char", command_char ); //Ustawiamy dopełnienie pola tekstowego //Dodajemy duże lewe dopełnienie wstawiania sprite znaków w RHW tekstowym ctb_set_padding( 116,10,10,10 ); // Ustawienie tla pola tekstowego sprite_index = ctb_load_subimage( spr_textbox_slice9_subimages, room_width-128, 108 ); // Dodawanie tekstu w polu tekstowym ctb_add_text( "W[c:blue]e[c:yellow]l[c:red]c[c:default]o[c:blue]m[c:red]e[c:yellow]![c:default]" ); ctb_add_text( "My name is John.#[pause:15]I will explain you what this textbox engine can do." ); ctb_add_text( "First, you should know that it works using [f:other][c:yellow][tags][f:default][c:default]." ); ctb_add_text( "Those [c:yellow]tags[c:default] will let you control some cool properties of your textbox." ); ctb_add_text( "Some of them are [f:other]Fonts[f:default],[pause:30]"+ " [c:blue]Colors[c:default],[pause:30] [speed:0.1]Speed[speed:1],[pause:30]"+ " Sounds[sound:gun],[pause:30] pauses,[pause:30] or even custom commands that you can add!"); ctb_add_text( "Exciting, isn't it?" ); ctb_add_text( "All of them are available through the use of tags." ); ctb_add_text( "For example, to use a [c:blue]Color[c:default], you would use the [tag:off][c:<color_name>] or [color:<color_name>][tag:on] tags." ); ctb_add_text( "You can even use your own scripts in your own tags!" ); ctb_add_text( "For example, let's change my face for a second..." ); ctb_add_text( "[char:char2]Woah![pause:8]Woah![pause:8]Woah![pause:15]#What is going on!!!" ); ctb_add_text( "[char:char]Gosh, thank god it was only for one moment!" ); ctb_add_text( "Other cool features of the textbox are [c:yellow]Auto-Wrapping[c:default] and [c:blue]Auto-Overflow[c:default]." ); ctb_add_text( "[c:yellow]Auto-Wrapping[c:default] will automatically ajust the text to fit in the textbox." ); ctb_add_text( "You don't have to add any newline character." ); ctb_add_text( "Be warned that the textbox uses tags for newline, but also the [c:yellow][#][c:default] character." ); ctb_add_text( "To use the [#] character, you must use the [tag:off][#][tag:on] tag." ); ctb_add_text( "[c:blue]Auto-Overflow[c:default] means that if you add too much text, the overflowing text will automatically be added into the next page of the dialogue for you." ); ctb_add_text( "With those two automatic features, you don't have to worry about your text fitting in the textbox, the textbox takes care of all that for you." ); ctb_add_text( "With all that said,[pause:15]#I hope this little textbox will fit your games!" ); ctb_add_text( "Now I must take my leave." ); ctb_add_text( "Thanks for trying my textbox!" ); STEP GML ctb_update(); DRAW GML ctb_draw(); draw_sprite( char_sprite, 0, x+6, y+6 ); No i parę skryptów jest jeszcze.. Gdzieś tkwi bład.. na obrazku to wygląda tak:
  10. Dzieki..racja po co.mi otwieranie pliku. To wrzucam do kolizji bohatera
  11. No dobra tylko nie wiem,czy dobrze myśle?? GML if file_exists("save.dat") { file=file_text_open_append("save.dat"); } else if{ file=file_text_open__write("save.dat"); }
  12. Threef Kurcze to akurat jest dla plików txt chyba o to chodzi GML file_exists(fname) do plików .dat nie mogę znaleźć
  13. Czy wystarczy tu dać jakiś warunek,który by to sprawdzał??
  14. Cześć wszystkim Mam taki dziwny problem z zapisem gry. Gdy gra nie jest zachowana przez gracza podczas gry (prościej dopóki nie zbierze się obiektu save) to wywala błąd fatalny i wyłącza grę natomiast gdy stan gry jest już zachowany i zbierzemy obiekt save to wtedy błędu nie ma. Zawsze jest ten błąd gdy nie zachowaliśmy gry, a chcemy ją wczytać w menu. Ja myślę,że trzeba sprawdzić czy plik jest pusty jak jest pusty to komunikat i nic nie robi, a jak pełny to wczytuje(dodać warunek)jak to zrobić? niżej kod mojego obiektu_save,który zapisuje moją grę w danym miejscu. CREATE GML licznik=x/14; checked = false; //sprawdzenie list = ds_list_create(); //lista zachowujaca stan gry saveInfo=false; //informacja o zachowaniu gry saveInfoTime=3; //infroamcja o czasie zachowania gry ALARM 0 GML saveInfo=false; DRAW GML draw_self(); if (saveInfo) { draw_text(x, y, "save game has been completed") } kolizja z bohaterem GML if( !checked ) { checked = true; game_save("Save.dat"); //gre zachowywana pod nazwa pliku Save.dat if (!saveInfo) { saveInfo=true; audio_play_sound(dzwiek_checkpointisave, 1, false); alarm[0]=saveInfoTime*fps; //czas * ilosc FPS prosty wzor do zachowania stanu gry } } a tu przycisk obj_load game,który ładuje mi zapis gry STEP GML if (room !=roo_menu && mouse_check_button_pressed(mb_left)) { //nie rob nic } else if (position_meeting(obj_cursor.x,obj_cursor.y,obj_load_game)) && mouse_check_button_pressed(mb_left) //Gra wczytuje zachpowanie dopiero gdy nacisniemy na Load Game prawym myszy** nie gdy naciskamy w wolne pole pokoju menu { game_load( "Save.dat" ); audio_stop_sound (dzwiek_menu_glowne_gry); } teraz tak w STEP jeszcze mam: Bloczek wybrany Execute Script Applies to ustawione na Self script: scr_mouse_hover
×
×
  • Dodaj nową pozycję...