GML Externos
Olá Galerinha do fórum , bem eu estou trabalhando muito mais não abandonei o fórum e muito menos o Game Maker , agora so estou usando o Game Maker versão HTML5 e esperando o lançamento do Studio , para plataforma Standard estou usando Visual c++ agora.
Bem hoje estou aqui para mostra um tutorial de como chamar *.GML externos , que estão em diretórios.
PASO 1
selecione uma pasta base para os scripts , o recomendado e colocar na pasta de seu jogo.
/Scripts
Você ira os seguintes scripts para carregar Gmls.
extResourceInit
scriptRun
scriptLoadDir
scriptLoadFile
COMO USAR
Vou deixar um pequeno exemplo de como usar esse KIT de scripts, veja o exemplo abaixo:
ESPERO QUE VOCÊS GOSTEM E UTILIZEM ATE MAIS.
Olá Galerinha do fórum , bem eu estou trabalhando muito mais não abandonei o fórum e muito menos o Game Maker , agora so estou usando o Game Maker versão HTML5 e esperando o lançamento do Studio , para plataforma Standard estou usando Visual c++ agora.
Bem hoje estou aqui para mostra um tutorial de como chamar *.GML externos , que estão em diretórios.
PASO 1
selecione uma pasta base para os scripts , o recomendado e colocar na pasta de seu jogo.
/Scripts
Você ira os seguintes scripts para carregar Gmls.
extResourceInit
- Código:
global._scriptobject=object_add();
object_set_visible(global._scriptobject,0);
object_set_persistent(global._scriptobject,1);
global._scriptmap=ds_map_create();
global._scriptcount=0;
global._objectmap=ds_map_create();
scriptRun
- Código:
global._ret=0;
if is_string(argument0)
argument0=ds_map_find_value(global._scriptmap,argument0);
event_perform_object(global._scriptobject,ev_other,9+argument0);
return global._ret;
scriptLoadDir
- Código:
var filename;
filename=file_find_first(argument0,0);
if filename!=""
scriptLoadFile(filename,argument1)
else
exit;
do
{
filename=file_find_next();
if filename!="" scriptLoadFile(filename,argument1);
}
until filename=""
file_find_close();
scriptLoadFile
- Código:
var file,line,script,scriptname,scriptid,count;
script="";
count=1;
file=file_text_open_read(argument0);
line=fileReadString(file,argument1);
if string_copy(line,1,8)="#define "
{
scriptname=string_delete(line,1,8);
file_text_readln(file);
while !file_text_eof(file)
{
line=fileReadString(file,argument1);
if string_copy(line,1,8)="#define "//a new script
{
count+=1;
scriptid=scriptLoadString(script);//load the old script
ds_map_add(global._scriptmap,scriptname,scriptid);//add a script map
script="";//start a new script
scriptname=string_delete(line,1,8);
}
else
script+=line+chr(13)+chr(10);
file_text_readln(file);
}
scriptid=scriptLoadString(script);
ds_map_add(global._scriptmap,scriptname,scriptid);//the last script
file_text_close(file);
return count;
}
else
{
script=line;
while !file_text_eof(file)
{
script+=fileReadString(file,argument1);
file_text_readln(file);
}
file_text_close(file);
return scriptLoadString(script);
}
COMO USAR
Vou deixar um pequeno exemplo de como usar esse KIT de scripts, veja o exemplo abaixo:
- Código:
extResourceInit();
scriptLoadDir('*.gml');
script = scriptLoadFile('script.gml');
scriptRun(script);
ESPERO QUE VOCÊS GOSTEM E UTILIZEM ATE MAIS.