Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Witam. Chciałem zrobić aby w skrypcie, sprawdzało ile argumentów chcę podać. Próbowałem tak.

GML
var count = argument[0]

for(i=1; i<count; i++)

{

data=argument

}

Tylko, że kompilator uznaje to za błąd. Wprowadziłem zbyt dużą liczbę argumentów, niż program oczekiwał. Korzystam z Studio, można jakoś coś takiego zrobić?

Opublikowano

argument_count

This read-only variable returns the number of "arguments" that are passed through to a script. Normally used in conjunction with an argument array (argument[0...15]) to permit varying input arguments for a given script.
Opublikowano

Próbuję tego użyć ale mam problem(y). Tak wygląda urywek kodu

GML
var ID = argument[0]

var count = argument_count

/*for(i=1; i<count; i++) //ten kod też nie działa, ten sam problem, nie wykrywa tablicy msg[2]

{

msg=argument

}*/

if(count==2)

msg[1]=argument[1]

if(count==3)

{

msg[1]=argument[1]

msg[2]=argument[2]

/*--TROCHĘ DALEJ--*/

if(count==2)

{

buffer_write(Buffer, buffer_u32, msg[1]);

}

if(count==3)

{

buffer_write(Buffer, buffer_u32, msg[1]);

buffer_write(Buffer, buffer_u32, msg[2]); //tutaj wykrywa błąd, w tablicy msg

}

Nie wiem co z tym zrobić. Próbowałem na różne sposoby, ale nie wiem w czym problem.

Opublikowano

Mam też kod, w którym wysyłam tylko 1 wiadomość. writemsg(1, current_time). To akurat działa. Więc nie rozumiem? I przecież wszystkie argumenty które podaję, przyjmuje tak?

E: Czegoś nie dopisałem...wysyłam wiadomość w ten sposób. writemsg(2, x, y). W tym wypadku jest błąd. Kiedy wysyłam tylko jedną writemsg(1, current_time), to działa.

Opublikowano

Na górze edytowałem komentarz.

Muszę użyć wszystkich argumentów w skrypcie. Więc jeśli podam za mało, to nie zadziała. O dziwo zadziałało, kiedy używam tylko 2. Może sprawdzę co jest przypisane, do tablicy.

Opublikowano

Tablica była źle deklarowana (czy tam definiowana, nevermind). Zła nazwa była podana. Dziękuje za pomoc, teraz wszystko działa, mogę sobie w prosty sposób wysyłać dane :)

  • Administratorzy
Opublikowano

Nie wiem po co przypisujesz te dane z argument[X] do zmiennych, zamiast uzywac ich od razu. Tylko namnażasz zmienne, które już mają wartości.

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ę...