micha_i Opublikowano 31 Grudnia 2011 Udostępnij Opublikowano 31 Grudnia 2011 Witam. Jak w temacie, mam taki kod: GML Global_right_released: if ! collision_point(obj_kursor.x-16,obj_kursor.y-16,obj_blok,true,false){ if ! collision_point(obj_kursor.x-16,obj_kursor.y-16,torch,true,false){ if (inv[a])!=' ' and (inv[a])!=string(0){ instance_create(obj_kursor.x,obj_kursor.y,inv[a]) scr_inv_rem(inv[a],a) }}} GML scr_inv_rem: var type,q; type=argument0; q=argument1 invn[q]-=1; if invn[q]=0 inv[q]=' ' Tablica inv[] zapisuje nazwy obiektów w plecaku Tablica invn[] zapisuje ilość danego obiektu a to wybrany aktualnie slot w plecaku Dlaczego ten kod powoduje,że wszystkie obiekty w grze się tworzyły drugi raz?(czyli mam wtedy 2x więcej obiektów) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 31 Grudnia 2011 Udostępnij Opublikowano 31 Grudnia 2011 Ten pierwszy kod wywołuje się dwa razy. Sprawdź w Debug Mode, ile jest obiektów z tym kodem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
micha_i Opublikowano 31 Grudnia 2011 Autor Udostępnij Opublikowano 31 Grudnia 2011 Obiektów jest jeden(gracz), i powinien on tworzyć 1 obiekt. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 31 Grudnia 2011 Administratorzy Udostępnij Opublikowano 31 Grudnia 2011 W takim razie musisz mieć gdzieś drugi raz tworzenie obiektów :) Sprawdź dokładnie (w GM8.1 jest opcja przeszukiwania kodu również w obiektach - Ctrl+Alt+F bodaj). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
micha_i Opublikowano 31 Grudnia 2011 Autor Udostępnij Opublikowano 31 Grudnia 2011 EDIT:Dobra,mam,wystarczyło nie tworzyć obiektu tablicą, tylko użyć switch(){}: GML if ! collision_point(obj_kursor.x-16,obj_kursor.y-16,obj_blok,true,false){ if ! collision_point(obj_kursor.x-16,obj_kursor.y-16,torch,true,false){ if is_string(inv[a]){ if inv[a]!=' '{ inv[a]=string(inv[a]) switch inv[a]{ case 'wood': instance_create(obj_kursor.x,obj_kursor.y,wood) scr_inv_rem(inv[a],a);exit; } }}else{exit}}} Sory za robienie kłopotu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 1 Stycznia 2012 Udostępnij Opublikowano 1 Stycznia 2012 po co ci else na koncu? i jak bedziesz mial np. sto itemow do stawiania, do bedzie bardzo duzo pisania case to case tamto, mozesz zrobic tak: execute_string('instance_create(oj_kursor.x,obj_kursor.y,)'+string(inv[a])+')') Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
micha_i Opublikowano 1 Stycznia 2012 Autor Udostępnij Opublikowano 1 Stycznia 2012 Dzięki,działa ^_^. 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ę