Gość Opublikowano 5 Grudnia 2009 Udostępnij Opublikowano 5 Grudnia 2009 Siemka. Mam problem związany z akcją. Otóż, mam zmienną global.defensed = 0, i przy kolizji z obj_shield następuje zmiana na global.defensed = 1. I mam taki kod: GML //STEP if (global.defensed == 1) { if !(instance_exists(obj_shield)) { instance_create(x, y, obj_shield); } alarm[0] = 300; //roomspeeda mam 30 } else { if (instance_exists(obj_shield)) { with (obj_shield) { instance_destroy(); } } } //ALARM 0 global.defensed = 0; I po upływie tych 10 sekund, nie zmienia się na global.defensed = 0, i tarcza nie znika :/ Cały czas ją mam na sobie i ona mnie broni. W żadnym innym obiekcie nie mam czegoś, co powodowałoby zostawienie takowej wartości. Czy z tym kodem jest coś źle? Żadnych errorów nie mam. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
IamTheLaw Opublikowano 5 Grudnia 2009 Udostępnij Opublikowano 5 Grudnia 2009 Ja miałem podobnie jak masz coś tego typu: GML if ready=1 { if ammo1=1 { //jakaś akcja }} to ci nie zadziała, sam wiem z własnego doświadczenia, probowałem naprawić to ale bez skutku. Spróboj zrobić by nie było podwójne "if" Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 5 Grudnia 2009 Udostępnij Opublikowano 5 Grudnia 2009 Eee.. Sorry, ale w innych obiektach mam tak samo i działa :P W ogóle, to nic nie zmienia. Robiłem tak w innych przykładach/projektach i nigdy nie miałem z tym problemu. E: A inaczej nie zrobię bo wtedy to już w ogóle nic nie będzie się działo. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 5 Grudnia 2009 Udostępnij Opublikowano 5 Grudnia 2009 GML (draw) draw_text(10,10,global.defensed) draw_text(10,30,alarm[0]) dzięki temu sprawdzisz, czy zmienna ma odpowiednią wartość i czy alarm w ogóle się odlicza. Pomaga przy szukaniu tego typu błędów :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rudy Opublikowano 5 Grudnia 2009 Udostępnij Opublikowano 5 Grudnia 2009 Bez przerwy resetujesz alarm. Wstaw go do drugiego nawiasu, a wszystko powinno iść dobrze Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 5 Grudnia 2009 Udostępnij Opublikowano 5 Grudnia 2009 @lenin: ze sprawdzaniem czy zmieniło wartość to mam, bo nie ująłem w kodzie, że jeśli defensed = 0, to tarcza = "Nieaktywna", a jeśli 1 to tarcza = "Aktywna". Z tym odliczaniem też dam i sprawdzę. @Rudy: Że jak? jak dam w drugi główny nawias, to już nic w ogóle się nie zrobi, bo nigdy nie będzie spowrotem defensed 0. Chyba wiesz czemu dałem w pierwszy. A jeśli nie o te nawiasy Ci chodzi - to o jakie ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 5 Grudnia 2009 Udostępnij Opublikowano 5 Grudnia 2009 przed alarm[0] daj warunek GML if alarm[0]=-1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 5 Grudnia 2009 Udostępnij Opublikowano 5 Grudnia 2009 Alarm się nie odlicza, cały czas jest 30 i nie spada. E: Dzięki lenin, z tym warunkiem działa :) Temat zamykam. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi