Cygnus Opublikowano 31 Października 2015 Udostępnij Opublikowano 31 Października 2015 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)); } 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ę