N
NoFontNL
Guest
Hi, when I try to load my level, sometimes, it ignores blocks and just leaves them blank.
Here's my code:
I do have a camera object, which deactivates par_couele's when they're outside the view. The blocks that disappear are always just not in the view. But why do they disappear when I'm activating all par_couele's at the start of each script?
If you found something please let me know!
Here's my code:
Code:
///scOpenLevelEdit(name)
// Open a saved level
var fileName=argument[0];
instance_activate_object(par_couele);
if(file_exists(fileName)){
with(par_couele){
instance_destroy();
}
with(par_solid){
instance_destroy();
}
//decrypt
fast_file_key_crypt(fileName,fileName,true,"key");
var levelLoadFile = file_text_open_read(fileName);
if(!file_text_eof(levelLoadFile)){
var levelMasterData=file_text_read_string(levelLoadFile);
var levelArray=string_split("|",levelMasterData,true);
var coueleCount=array_length_1d(levelArray);
if(coueleCount>0){
for(var i=0; i<coueleCount; i++){
var instanceJson = levelArray[i];
var instanceMap = json_decode(instanceJson);
var _x = ds_map_find_value(instanceMap,"x");
var _y = ds_map_find_value(instanceMap,"y");
var _obj = real(ds_map_find_value(instanceMap,"obj"));
var _inst = instance_create(_x, _y, _obj);
if(_obj==obj_itemblockEditor || _obj==obBrickEditor){
_inst.item=ds_map_find_value(instanceMap,"item");
}
ds_map_destroy(instanceMap);
}
}
}
file_text_close(levelLoadFile);
fast_file_key_crypt(fileName,fileName,false,"key");
}
Code:
///scSaveLevel(name)
// Save a level
instance_activate_object(par_couele);
var coueleCount= instance_number(par_couele);
var fileName=argument[0];
if(file_exists(fileName)){
file_delete(fileName);
}
var saveFile = file_text_open_write(fileName);
for(var i=0; i<coueleCount; i++){
var instance=instance_find(par_couele,i);
//convert into map
var instanceMap = ds_map_create();
ds_map_add(instanceMap,"x" ,instance.x );
ds_map_add(instanceMap,"y" ,instance.y );
ds_map_add(instanceMap, "obj", instance.object_index);
if(instance.object_index==obj_itemblockEditor || instance.object_index == obBrickEditor){
ds_map_add(instanceMap,"item",instance.item);
}
jsonInstance=json_encode(instanceMap);
file_text_write_string(saveFile,jsonInstance);
file_text_write_string(saveFile,"|")
ds_map_destroy(instanceMap);
}
file_text_close(saveFile);
fast_file_key_crypt(fileName,fileName,false,"key");
If you found something please let me know!