Anubarak
-
Postów
45 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Odpowiedzi opublikowane przez Anubarak
-
-
Te błędy to mniej więcej:
___________________________________________
ERROR in
action number 1
of Create Event
for object bohater:
Error in code at line 1:
buz = usta.image_single
at position 12: Unknown variable image_single
___________________________________________
ERROR in
action number 1
of Draw Event
for object bohater:
Error in code at line 2:
draw_sprite(ustaSpr,buz,x,y)
at position 22: Unknown variable buz
___________________________________________
ERROR in
action number 1
of Step Event
for object warzywo_lezy:
Error in code at line 2:
if bohater.catch<>0
at position 13: Unknown variable catch
No i po kolei pierwszy błąd polega na tym że zostały użyte funkcję image_single czy jakoś tak. Zmień ich nazwę żeby to nie były nazwy funkcji w bohaterze,strzałkach, ustach,nosie,i w oczach (chyba pomoże).
Tam jest napisane: niewiadoma zmienna buz zmień ją na numer bo drugi argument funkcji draw_sprite przyjmuje
cyfrę lub cyfrę zapisaną w zmiennej.
ponieważ musi to być numer "subimidża".
W trzecim pisze: niewiadoma zmienna catch czyli że jej nie ustawiłeś.
Mam nadzieję że pomogłem trochę.
-
Wg. mnie to serwer odpowiada za te potworki i wysyła pozycje x i y do wszystkich graczy. Tak samo jak pojawi się jakiś efekt u jakiegoś klienta jest on wysyłany na serwer, potem z serwera do klientów i jest tworzony efekt.
-
GMLfor(n=1; n<100; n+=10)
{
zm[n]=instance_create(n,y,obiekt)
}
EDIT: Gnysek szybszy
-
Lepiej tak:
GMLif distance_to_object(obj_stoi) < 100 and distance_to_object(obj_rig) < 100 and distance_to_object(obj_lew) < 100{
instance_change(object2,1);
}
-
Dajesz w osłonie
GML//create//w kolizji z pociskiem
uderzony-=1
//step
if uderzony==0 instance_destroy()
@up szybszy
-
Daj jakiś objekt a w create : (dam ci cały wycinek z dokumentacji) sound_loop(dźwięk) - podobny do poprzedniej funkcji, ale po zakończeniu odgrywania funkcja gra dźwięk ponownie. Opcja używana głównie do grania muzyki. W miejsce dźwięk trzeba wstawić nazwę dźwięku.
-
Dzięki tamtego nie zauważyłem problem rozwiązany.
-
Teraz wyświetla się błąd że nie może porównać argumentów:
___________________________________________
ERROR in
action number 1
of Draw Event
for object object1:
Error in code at line 1:
if aktualna_wartosc !='' draw_text(320,320,aktualna_wartosc)
at position 23: Cannot compare arguments.
_______________________________________________
I niewiem jak temu zaradzić.
-
Mam 2 obiekty player i npc. W npc mam taki kod:
GML//createaktualna_wartosc=0
//step
if distance_to_object(player)<100 and keyboard_check_pressed(vk_enter) and ds_queue_empty(kolejka)!=0
{
ds_queue_clear(kolejka)
ds_queue_enqueue(kolejka,"Czesc jestem Franek.")
ds_queue_enqueue(kolejka,"Chce cie pociac.")
ds_queue_enqueue(kolejka,"I mam dla ciebie misje.")
ds_queue_enqueue(kolejka,"Oto jej tresc: potnij sie.")
}
if distance_to_object(player)>100
ds_queue_clear(kolejka)
if keyboard_check_pressed(vk_enter) and ds_queue_empty(kolejka)=0
aktualna_wartosc=ds_queue_dequeue(kolejka)
//draw
if ds_queue_empty(kolejka)=0 draw_text(320,320,aktualna_wartosc)
No i niby ta kolejka ignoruje ostatnią wartość czyli mi jej nie wyświetla. Co radzicie (oprócz tego żeby dodać piątą wartość która będzie tylko po to żeby pozostałe się wyświetlały a ta nie)?
-
Hmm... każda rakieta jest oddzielnym obiektem? Skoro tak to możesz zrobić w niej zmienną (albo nawet dwie) z "odchyleniem" długości linii.
Niestety (albo stety) obiekt jest jeden i w zależności jaki model się wybierze tak będzie wyglądać. Może twój kod by się sprawdził ale niema jakiegoś innego sposobu bez zmiennych?
EDIT: Może by coś zrobić jakoś tak żeby znalazło sprite_width/2 i sprite_height/2 tam gdzie znajduje się obiekt a nie w lewy górnym rogu pokoju bo ja nie mam pomysłu jak to zrobić ;(
-
Ale mi chodzi o to żeby nie musieć ręcznie ustawiać tylko żeby jeden kod współpracował ze wszystkimi modelami rakiety .
-
@Bluks To są orginy i właśnie o to mi chodzi żeby ich nie ruszać.
@Morrowind próbowałem zrozumieć ten kod i myślę że może gdzieś trzeba użyć sprite_widht/2 i sprite_height/2 żeby znaleźć środek obrazka ale nie wiem gdzie to dać.
-
Dzięki ZeroXbot problem rozwiązany tyle że narodził się nowy i żeby nie robić nowego tematu napisze go tu. No to tak mam taki inny model rakiety (brzydki ale się poprawi): no i jak widać ma ona odgałęzienie które jest boczną kabiną no i chcę żeby ta czerwona linia była tylko przed rakietą a nie przed i trochę w prawo jak to widać na obrazku. Przestawianie orgina tu nie wchodzi w grę ponieważ muszę mieć jakiś punkt wokół którego będę się obracać (mówiłem ruch w 36 kierunkach).
-
ZeroXbot twój kod wydaje się dobry ale żeby zobaczyć gdzie będzie rysować linię zmodyfikowałem trochę kod i pozmieniałem niektóre rzeczy:
GMLxx=lengthdir_x(15+sprite_width,direction)yy=lengthdir_y(15+sprite_width/2,direction)
xx1=lengthdir_x(xx+sprite_height/2,direction+90)
yy1=lengthdir_y(yy+sprite_height/2,direction+90)
xx2=lengthdir_x(xx+sprite_height/2,direction-90)
yy2=lengthdir_y(yy+sprite_height/2,direction-90)
draw_line(x+xx1,y+yy1,x+xx2,y+yy2)
Ale nie wiem dlaczego linia jest rysowana w złym miejscu i zawsze przechodzi przez środek obiektu.
-
Ale tu nie chodzi o to żeby sprawdzał odległość do obiektu tylko żeby sprawdzał czy z tą liną przed nim odbywa się jakaś kolizja co jest potrzebne do sprawdzania czy statek będzie mógł lecieć do przodu.
-
Mam obj_player który wygląda tak (oczywiście ta różowa linia to nie jest wygląd rakiety):.
No i chce żeby kolizje z obiektami sprawdzała funkcja colision_line (linia ma być rozciągnięta 15 pixeli przed obiektem tak jak wskazuje ta różowa linia). No i bym mógł sobie sam obliczyć współrzędne x1,x2,y1,y1 pomiędzy którymi ma być rozciągnięta colision_line ale w tym problem że ta rakieta to jeden z co najmniej 20 modeli dostępnych. No więc pytanie brzmi: czy można jakoś automatycznie policzyć kierunek oraz długość lenghdirow w tej sytuacji (uwzględniając to że te 20 modeli rakiety jest różnej wielkości oraz rakieta może się poruszac w 36 (360/10) kierunkach?
-
Może po room= powinna być nazwa pokoju bo z tego co wyczytałem obj_pocisk jest obiektem co widać nawet po prefiksie.
-
Mogliście by mi wytłumaczyć co znaczą poszczególne parametry funkcji mp_potential_settings(maxrot,rotstep,ahead,onspot), ponieważ w dokumentacji nie da się tego odczytać.
-
myśl czasem nad kodem który masz, a nie zadawaj głupich pytań
No i po co to mówisz skoro i tak twój kod nie działa (a poza tym też próbowałem odjąć 17 i nic to nie dało).
KubaGM od samego patrzenia na twój kod zdałem sobie sprawę co jest źle czyli problem rozwiązany.
-
Mam w create podstawki czołgu taki kod:
GMLdirection=90image_speed=0
image_index=round(random(2))
//tworzy lufe
instance_create(x,y,obj_lufa)
//tworzy gasienice
if image_index=0
{
instance_create(lengthdir_x(x+17,direction+90),y,obj_gasienice_duze)
instance_create(lengthdir_x(x+17,direction-90),y,obj_gasienice_duze)
}
chce żeby on tworzył 2 gąsienice (jedna po jednej stronie czołgu, a druga po drugiej) no i gdy image_index=0 to pokazuje się gąsienica ale tylko po jednej stronie czołgu a po drugiej nie. :crying:
-
Czy po zapisaniu a potem wczytaniu gry surface'y znikają (używałem opcji szukaj ale mnie nie usatysfakcjonowała)?
-
Mam animacje jazdy czołgu która składa się z dwóch klatek animacji. Jak zrobić ze jeśli speed=0 to byłaby wyświetlana tylko pierwsza klatka tej animacji a jak speed!=0 to byłyby wyświetlane 2 klatki naprzemiennie (tylko NIE tak że w begin step image_index=0 a w end step image_index=1).
-
nie wiem co w tych opcjach wpisac w nawiasach. A ten przykład który Uzjel tu podsunął to z niego za dużo nie rozumiem.Najpierw mp_grid_create czy jakoś tak, potem mp_grid_path i ci stworzy bezkolizyjny path. -
x1 i y1 to współrzędne pierwszego punktu a x2 i y2 to współrzędne drugiego punktu. Gm w tej instrukcji zwraca ci odległość miedzy tymi dwoma punktami (chyba brałeś układ współrzędnych?).
Edit: Spóźniłem się :jezor:
Code mana a strzelanie
w Pytania początkujących
Opublikowano
A nie lepiej jest zrobic tak ze GML if tu_twoja_zmienna_na_mane >=5 then tu_twoj_kod_na_strzal?
A to że nie widzisz kursora to normalne i można to zmienic w ustawieniech gry.
PS. Witam nowego usera.