David Dark Opublikowano 18 Stycznia 2008 Udostępnij Opublikowano 18 Stycznia 2008 Witam, zajalem sie nowymi skryptami do wyrzucania itemkow z potworkow. Po sprawdzeniu wszystkich dostepnych skryptow nie uzyskiwalem efektu o ktory mi chodzi wiec sprobowalem stworzyc swoj wlasny. Jest to pierwszy skrypt z argumentami, ktory zrobilem wiec spodziewalem sie, ze cos bedzie nie tak. :jezor: No wiec chodzi w nim o to, aby sprawdzil czy w konkretnej pozycji znajduje sie juz jakis przedmiot i tylko przedmiot, a nie np. potwor. Skrypt ma za zadanie sprawdzic odpowiednia pozycje i zwrocic wartosc true lub false ktora jest potem sprawdzana(drugi skrypt) przy umieszczaniu przedmiotow i tworzy przedmiot w wolnym miejscu i tylko dopiero gdy sie okaze ze wszystkie okoliczne miejsca sa zajete tworzy przedmiot w miejscu gdzie umarl potworek niezaleznie od tego czy jest tam przedmiot czy nie. A co jest problemem: skrypt tworzy wszystkie przedmioty w jednym miejscu - pod potworkiem. Jesli ktos wie co zle napisalem prosze o pomoc, z gory dzieki ;) GML //scrypt scr_checkdrop(x,y) // skrypt sprawdza czy dany obiekt znajduje sie w danej pozycji i zwraca wartosc true lub false. var xxx, yyy, drop; xxx = argument0; yyy = argument1; drop = instance_position(xxx,yyy,obj) if(drop = noone) {return true;} if(drop != noone) {return false;} GML //skrypt do tworzenia przedmiotu xx = x; yy = y; // przykladowy skrypt ktory wyszukuje wolna pozycje w okolicy. if scr_checkdrop(xx,yy){createditem = instance_create(xx,yy,obj)exit}; if scr_checkdrop(xx+32,yy){createditem = instance_create(xx+32,yy,obj)exit}; if scr_checkdrop(xx-32,yy){createditem = instance_create(xx-32,yy,obj)exit}; if scr_checkdrop(xx,yy+32){createditem = instance_create(xx,yy+32,obj)exit}; if scr_checkdrop(xx,yy-32){createditem = instance_create(xx,yy-32,obj)exit}; if scr_checkdrop(xx+32,yy+32){createditem = instance_create(xx+32,yy+32,obj)exit}; if scr_checkdrop(xx-32,yy-32){createditem = instance_create(xx-32,yy-32,obj)exit}; if scr_checkdrop(xx-32,yy+32){createditem = instance_create(xx-32,yy+32,obj)exit}; if scr_checkdrop(xx+32,yy-32){createditem = instance_create(xx+32,yy-32,obj)exit}; if place_free(xx,yy){createditem = instance_create(xx,yy,obj)exit}; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cora Wind Opublikowano 18 Stycznia 2008 Udostępnij Opublikowano 18 Stycznia 2008 To chyba nie pytanie początkującego :x Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 18 Stycznia 2008 Autor Udostępnij Opublikowano 18 Stycznia 2008 yyy no chyba dzialy pomylilem :rolleyes: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 19 Stycznia 2008 Udostępnij Opublikowano 19 Stycznia 2008 W tym drugim kodzie, xx i yy to pozycja gracza czy co? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 19 Stycznia 2008 Autor Udostępnij Opublikowano 19 Stycznia 2008 Pozycja potworka. Skrypty sa uruchamiane gdy zycie potworka jest mniejsze lub = zeru, wypadaja przedmioty, potworek umiera. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shockah Opublikowano 19 Stycznia 2008 Udostępnij Opublikowano 19 Stycznia 2008 Argumenty w skryptach liczy się od 0, a nie od 1 :) Może to był ten błąd :) GML //scrypt scr_checkdrop(x,y) var xxx, yyy, drop; xxx = argument0; yyy = argument1; drop = instance_position(xxx,yyy,o_item) if(drop = noone) {return true;} if(drop != noone) {return false;} Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 19 Stycznia 2008 Autor Udostępnij Opublikowano 19 Stycznia 2008 Shocker51374 rzadzisz :thumbsup: Dziala jak nalezy :) Latwo taka glupia rzecz przegapic :P Dzieki za pomoc! :) OK zedytowalem tez pierwszy post i dodalem maly komentarz do skryptu. tak zeby jesli ktos bedzie go potrzebowal bedzie mogl go uzyc w swoim projekcie Temat zamykam Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi