Skocz do zawartości

definiowanie ilości argumentów w własnym skrypcie, gm8 a studio


lew_leo

Rekomendowane odpowiedzi

witam niby śmieszny problem ale jakoś odpowiedzi nie mogę nigdzie znaleźć

 

otóż mam skrypt który przyjmuje 3 argumenty pisze go jak bym to robił w gm8 jednak gdy go wywołuje kompilator mówi ze funkcja jest napisana na jeden argument a nie 3

 

w c++ bym zdefiniował to w nazwie skryptu jak: typ nazwa_funkcji(typ argumet, typ argument, itp itd)

 

ale jak to zrobić w studio?

 

level_load:

with all
if (object_index!=obj_main)
instance_destroy()
global.loadscr=0

if !is_string(argument0)
{


script_execute("lev_"+string(argument0)+"_"+string(argument1)+"_"+string(argument2)+"();")


}
else if argument0="vagon"
{
global.starttype=-1
lev_vagon()
}
scr_mainobj()
instance_create(0,0,obj_d3d_light)
global.loadscr=0

 

 

wywołanie:

level_load(global.levelx,global.levely,global.levelz)

Odnośnik do komentarza
Udostępnij na innych stronach

Jeżeli nie potrzebujesz jeszcze argument1 i argument2 możesz określić zapotrzeowanie na nie zapisująć je do jakieś zmiennej tymczasowej. po prostu walnij

GML
__a = argument1;

__b = argument2;

i zapomnij o problemie.

 

Innym wyjściem jest korzystać z argumentów w formie tablicy czyli zamiast argument0 daj argument[0].

Odnośnik do komentarza
Udostępnij na innych stronach

Jeżeli nie potrzebujesz jeszcze argument1 i argument2 możesz określić zapotrzeowanie na nie zapisująć je do jakieś zmiennej tymczasowej. po prostu walnij

GML
__a = argument1;

__b = argument2;

i zapomnij o problemie.

 

Innym wyjściem jest korzystać z argumentów w formie tablicy czyli zamiast argument0 daj argument[0].

dzięki działa :3

Odnośnik do komentarza
Udostępnij na innych stronach

dzięki działa :3

Tylko ten, jeżeli skorzystałeś z opcji 1szej pragnę nadmienić, że zrypałem bo zapomniałem dać var z pośpiechu. Miało być

GML
var __a = argument1;

var __b = argument2;

 

Bardziej optymalne.

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