Skocz do zawartości

object_name


DobryZiom

Rekomendowane odpowiedzi

Witam ponownie :) Jestem teraz w trakcie tworzenie edytora map 3D do przykładu który zamierzam dać na forum i mam pewien problem: edytor map przerobiłem z przykładu z tego forum i w nim zapisuje się object_index a ja chcę zapisać object_name. oto kod z przykładu:

GML
if instance_exists(i) {

if i.object_index != object_index {

_data += string(i.x)+','+string(i.y)+','+string(i.object_index)+',#';

 

_instance_count += 1;

}

}

gdy zmieniam na object_name to wywala mi błąd

 

___________________________________________

ERROR in

action number 1

of Key Press Event for S-key Key

for object _SYSTEM:

 

In script map_Save:

Error in code at line 14:

_data += string(i.x)+','+string(i.y)+','+string(i.object_name)+',#';

 

at position 63: Unknown variable object_name

 

 

jak wpisuje object_name to zmienia kolor więc chyba powinno działać...jeśli nie to może jakieś inne propozycje?

Odnośnik do komentarza
Udostępnij na innych stronach

Mam problem z wczytaniem(bo nigdy się w takie coś nie bawiłem):

GML
_object_index = string_copy(_data_temp,1,string_pos(',',_data_temp)-1);

_data_temp = string_replace(_data_temp,_object_index+',','');

 

instance_create(real(_x),real(_y),string(_object_index));

_object_index zwraca 0 :/ czemu? W pliku z mapą jest:

GML
3#860,186,_Celownik,#704,608,_Dom1,#832,384,_Dom2,#

więc chyba powinno wczytać nie?

Odnośnik do komentarza
Udostępnij na innych stronach

GML
var _instance_count, _all_data;

_all_data = '';

_instance_count = 0;

 

file_open_read(argument0);

_all_data = file_read_string();

file_close();

 

_instance_count = string_copy(_all_data,1,string_pos('#',_all_data)-1);

_all_data = string_replace(_all_data,_instance_count+'#','');

 

repeat(real(_instance_count)) {

_data_temp = string_copy(_all_data,1,string_pos('#',_all_data)-1);

_all_data = string_replace(_all_data,string(_data_temp)+'#','');

 

if string_replace_all(_data_temp,' ','') != '' {

_x = string_copy(_data_temp,1,string_pos(',',_data_temp)-1);

_data_temp = string_replace(_data_temp,_x+',','');

 

_y = string_copy(_data_temp,1,string_pos(',',_data_temp)-1);

_data_temp = string_replace(_data_temp,_y+',','');

 

_object_index = string_copy(_data_temp,1,string_pos(',',_data_temp)-1);

_data_temp = string_replace(_data_temp,_object_index+',','');

 

 

if string_replace_all(_x,' ','') != ''

&& string_replace_all(_y,' ','') != ''

&& string_replace_all(_object_index,' ','') != '' {

instance_create(real(_x),real(_y),object_get_name(_object_index));

}

}

}

z tym identyfikatorem poprawiłem...

Odnośnik do komentarza
Udostępnij na innych stronach

object_get_name też zwraca STRING z nazwą, a nie liczbowy identyfikator obiektu (z drzewa zasobów).

 

Powonno być instance_create(real(_x),real(_y),real(_object_index));

 

Może spójrz na górę...nie zapisuje już object_index tylko jego nazwę

 

Już sobie poradziłem

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