Skocz do zawartości

Błędy same się stworzyły


Dester

Rekomendowane odpowiedzi

Otwieram projekt w GMS.

Pojawia się okno.

    
    Error in Object player, Event Key Release A-key, Action 9: Symbol , or ) expected.
    Error in Object player, Event Key Release A-key, Action 11: Symbol , or ) expected.
    Error in Object player, Event Key Release A-key, Action 13: Symbol , or ) expected.
    Error in Object player, Event Key Release D-key, Action 9: Symbol , or ) expected.
    Error in Object player, Event Key Release D-key, Action 11: Symbol , or ) expected.
    Error in Object player, Event Key Release D-key, Action 13: Symbol , or ) expected.
    Error in Object player, Event Key Release S-key, Action 9: Symbol , or ) expected.
    Error in Object player, Event Key Release S-key, Action 11: Symbol , or ) expected.
    Error in Object player, Event Key Release S-key, Action 13: Symbol , or ) expected.
    Error in Object player, Event Key Release W-key, Action 9: Symbol , or ) expected.
    Error in Object player, Event Key Release W-key, Action 11: Symbol , or ) expected.
    Error in Object player, Event Key Release W-key, Action 13: Symbol , or ) expected.

To są bloczki, i jestem pewien że nie ma w nich żadnych błędów

Key Release Event for A-key Key:

if reloading is equal to 1
      exit this event
if firing is equal to 1
      exit this event
if keyboard_check(0x57) is equal to 0
      if keyboard_check(0x44) is equal to 0
            if keyboard_check(0x53) is equal to 0
                  if knife is equal to 0
                        set variable walksprite to 0
                        if item is equal to ""
                              set the sprite to player_idle with subimage 0 and speed 1
                              exit this event
                        if item is equal to "pistol"
                              set the sprite to player_pistolidle with subimage 0 and speed 1
                              exit this event
                        if item is equal to "rifle"
                              set the sprite to player_rifleidle with subimage 0 and speed 1
                              exit this event
Key Release Event for D-key Key:

if reloading is equal to 1
      exit this event
if firing is equal to 1
      exit this event
if keyboard_check_pressed(0x41) is equal to 0
      if keyboard_check_pressed(0x57) is equal to 0
            if keyboard_check_pressed(0x53) is equal to 0
                  if knife is equal to 0
                        set variable walksprite to 0
                        if item is equal to ""
                              set the sprite to player_idle with subimage 0 and speed 1
                              exit this event
                        if item is equal to "pistol"
                              set the sprite to player_pistolidle with subimage 0 and speed 1
                              exit this event
                        if item is equal to "rifle"
                              set the sprite to player_rifleidle with subimage 0 and speed 1
                              exit this event
Key Release Event for S-key Key:

if reloading is equal to 1
      exit this event
if firing is equal to 1
      exit this event
if keyboard_check_pressed(0x41) is equal to 0
      if keyboard_check_pressed(0x57) is equal to 0
            if keyboard_check_pressed(0x44) is equal to 0
                  if knife is equal to 0
                        set variable walksprite to 0
                        if item is equal to ""
                              set the sprite to player_idle with subimage 0 and speed 1
                              exit this event
                        if item is equal to "pistol"
                              set the sprite to player_pistolidle with subimage 0 and speed 1
                              exit this event
                        if item is equal to "rifle"
                              set the sprite to player_rifleidle with subimage 0 and speed 1
                              exit this event
Key Release Event for W-key Key:

if reloading is equal to 1
      exit this event
if firing is equal to 1
      exit this event
if keyboard_check_pressed(0x41) is equal to 0
      if keyboard_check_pressed(0x44) is equal to 0
            if keyboard_check_pressed(0x53) is equal to 0
                  if knife is equal to 0
                        set variable walksprite to 0
                        if item is equal to ""
                              set the sprite to player_idle with subimage 0 and speed 1
                              exit this event
                        if item is equal to "pistol"
                              set the sprite to player_pistolidle with subimage 0 and speed 1
                              exit this event
                        if item is equal to "rifle"
                              set the sprite to player_rifleidle with subimage 0 and speed 1
                              exit this event

Odnośnik do komentarza
Udostępnij na innych stronach

GML
sprite_index=

 

exit event to nie rozumiem co masz na myśli

 

GML
instance_create

 

Daleko na klockach nie zajdziesz-to jakbyś uczył się jeździć samochodem tylko wjeżdząjąc i wyjeżdżając godzinami z garażu-niby jedziesz samochodem ale ekhm..

Odnośnik do komentarza
Udostępnij na innych stronach

GML
sprite_index=

ok

exit event to nie rozumiem co masz na myśli

Bloczek o nazwie exit event. Z dużym iksem.

GML
instance_create

To wiem i używam, ale jak przypisać mu prędkość z tego skryptu?

-------------------------

 

 

Pomożesz z tymi błędami?

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz nadać prędkość stworzonemu obiektowi, to robisz tak

GML
var b=instance_create(x,y,obj); //przypisujesz id obiektu do zmiennej tymczasowej

b.speed=3; //nadajesz predkosc

b.direction=image_angle; //jak chcesz to i kierunek

b.jaka_kolwiek_zmienna=0; //i tak mozesz wszystko
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz nadać prędkość stworzonemu obiektowi, to robisz tak

GML
var b=instance_create(x,y,obj); //przypisujesz id obiektu do zmiennej tymczasowej

b.speed=3; //nadajesz predkosc

b.direction=image_angle; //jak chcesz to i kierunek

b.jaka_kolwiek_zmienna=0; //i tak mozesz wszystko</span></span>

Robiłem coś takiego w lua od 2 lat i na to nie wpadłem...

 

Jak masz kod to można znaleźć w czym jest błąd. Na klockach nie bardzo.

I tak wiadomo że to wszystko wina gma

To, że błędy same z siebie się tworzą po otwarciu projektu nie jest normalne

...

Przerobię na kod...

Odnośnik do komentarza
Udostępnij na innych stronach

GML
//RELEASE A

if(reloading==1 or firing==1 or knife==1){

exit;

}

 

if(keyboard_check(0x57)==0){

if(keyboard_check(0x44)==0){

if(keyboard_check(0x53)==0){

 

walksprite=0;

 

if(item==""){

sprite_index=player_idle;

exit;

}

if(item=="rifle"){

sprite_index=player_rifleidle;

exit;

}

if(item=="pistol"){

sprite_index=player_pistolidle;

exit;

}

}

}

}

ERROR at line 7 pos 21: Symbol , or ) expected.

7:

GML
if(keyboard_check(0x57)==0){
Odnośnik do komentarza
Udostępnij na innych stronach

keyboard_check() jako parametr przyjmuje stałe albo kod ASCII klawisza.

keyboard_check() jako wartość zwraca boolean true/false w zależności czy klawisz jest teraz wciśnięty czy nie.

 

I popieram że brak tu logiki. Sprawdzasz warunek, który wykona się tylko gdy warunek wcześniej się wykona, i o ile wcześniejszy się wykona. Zrobiłeś tutaj zagnieżdżony AND a chyba chodziło Ci o OR.

Odnośnik do komentarza
Udostępnij na innych stronach

keyboard_check() jako parametr przyjmuje stałe albo kod ASCII klawisza.

keyboard_check() jako wartość zwraca boolean true/false w zależności czy klawisz jest teraz wciśnięty czy nie.

 

I popieram że brak tu logiki. Sprawdzasz warunek, który wykona się tylko gdy warunek wcześniej się wykona, i o ile wcześniejszy się wykona. Zrobiłeś tutaj zagnieżdżony AND a chyba chodziło Ci o OR.

Ten kod wcześniej działał. Nic nie zmieniłem.

 

Nowy kod

GML
if(reloading==1 or firing==1 or knife==1){

exit;

}

 

if(keyboard_check(0x57)==false and keyboard_check(0x44)==false and keyboard_check(0x53)==false){

 

walksprite=0;

 

if(item==""){

sprite_index=player_idle;

exit;

}

if(item=="rifle"){

sprite_index=player_rifleidle;

exit;

}

if(item=="pistol"){

sprite_index=player_pistolidle;

exit;

}

}

Error at line 6 pos 21: Symbol , or ) expected.

Odnośnik do komentarza
Udostępnij na innych stronach

Ten kawałek kodu działa. Prawdopodobnie masz gdzieś wcześniej niedomknięty nawias i dopiero w tym miejscu pokazuje błąd.

 

Poza tym po samym skopiowaniu już widzę że masz solidnie popieprzone znaki. To też może być powodem błędu jeżeli ty myślisz że masz gdzieś spację a kompilator będzie widział inny znak.

Odnośnik do komentarza
Udostępnij na innych stronach

w gmie nie ma 0xgówno

wartości szesnastkowe pisze się po $

No właśnie też myślałem. Ale GM nie zwraca błędu i nawet to działa. Nie chce mi się sprawdzać któremu klawiszowi to odpowiada, ale o ile jest to wartość liczbowa to będzie to traktować jako numer ascii.

Odnośnik do komentarza
Udostępnij na innych stronach

No właśnie też myślałem. Ale GM nie zwraca błędu i nawet to działa. Nie chce mi się sprawdzać któremu klawiszowi to odpowiada, ale o ile jest to wartość liczbowa to będzie to traktować jako numer ascii.

w wersji 1.4.1757 po wstawieniu 0x01 w miejsce 1 automatyczny sprawdzacz składni wywala błąd dokładnie w tym punkcie i w przypadku keyboard_check dokładnie taki jak w pierwszym poście

x sprawia, że interpreter szaleje

to nie powinno nigdy działać i jeśli działa, panowie z yoyo znowu coś spieprzyli albo czegoś nie skończyli

manual zaleca $ do używania heksadecymali

Odnośnik do komentarza
Udostępnij na innych stronach

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...