Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics


A member registered May 25, 2016 · View creator page →

Creator of

Recent community posts

So yes, it’s a bug in latest beta runner, that using “vars” as arguments in functions when creating a struct causes errors.

Also, seems that actually 2.3 causes a random order for scripts (especially on import) no matter what is their order in resource tree, so there’s a high probability that divided version of GMLIVE need to be put in some functions, so only one script will define order in which they are created. But that’s to check after they fix first bug, cause there’s no way to check GMLIVE latest version at all now in latest beta.

You’ve got info about it in docs, but you need to remember, that it in fact will open a security breach in your game, as basically everything can be changed by users if you leave GMLIVE in final game. Also, generally it will cause a lot of FPS drop quickly.

So, while it could be used that way, it’s not optimal and safe in any way.

Yep, we need to wait for next beta which should be soon, and if that still happens, YYG need to solve it then.

(5 edits)

I also have problem with GMLiveAPI::live_preinit_funcs() , line 17, var l_m={name:l_name,func:method(undefined, l_scr),used:false}. Error message is: Variable struct.l_scr(100633, -2147483648) not set before reading it..

Changing it to

var m = method(undefined, l_scr);
var l_m={name:l_name,func:m,used:false}

seems to fix the issue (it might be a bug that method()+var can’t be used when creating struct).

For problem with wrong order of script execution, as for now I’ve manually deleted all entries in YYP which were starting on "GMLive and were about scripts, and I’ve manually copied the same order that was in your package.

Edit: seems that these are caused by using runner other than from public beta channel, so it’s worth to wait for next official beta.

(2 edits)

I’m getting error when trying to run latest version:

 at gml_GlobalScript_GMLive_program (line 263) - if(live_enabled)mt_gml_program.h_constructor=gml_program;
gml_GlobalScript_GMLive_program (line 263)

Seems that issue happens cause GMLIVE scripts aren’t executed by order in which they are in resource tree, but by the order they are in Project.yyp, which is… random. So, in fact error messages will also be random, depending on how GM will put those files among YYP. Deleting extension and importing it agan caused totally different order in my case.

(1 edit)

My advice:

  • if there’s a part of code which you not gonna touch in same event, make a separate script for it
  • avoid using too many for-loops in live code. Again - if some part is already completed, move it rather to some script (you don’t need to change code in any way, as it will be run in context of event) and keep the smallest amount in code you want to modify.

I’ve got one object which have around 10 nested for-loops inside, and I’m getting 2FPS cause of it, so above solutions helped me a lot.

(1 edit)

Damn, I forgot that removing extension doesn’t remove included files, re-uploaded now and double checked (renamed yyz to zip, manually deleted, renamed to yyz again).


Yeah, this solves my problem!

Definitely worth mentioning in help docs then.

(5 edits)

Here it is: (with GMLIVE cut, need to be re-added).

To crash, I just need to run it and wait about 60-120 seconds (you can watch memory usage in Task Manager, for me it crashes around 1.5 GB used).

This is how memory usage looks on my side, the moment of crash is easily visible:

Edit: here is a chart from GM debugger for above example:

I was thinking about some GMLive helper like:

live_link_instance(“my_instance_identifier”, my_instance_identifier); - then after compilation you should have dictionary of names and instances in-game ? User would need to manually enter every instance he wants to read this way.

After some new tests - crashes because of no enough RAM (game uses around 2GB when crashes - with only 5 lines of code).

I’m not sure that it’s possible at all, but I’m often using “named instances” in room editor (giving them custom name instead of inst_XXXXXX with random 8-digit HEX).

However when using them with GMLive, I’m getting:

Runtime error: [error] instance#100083(obj_xxx) (obj_xxx) does not have a variable inst_my_custom_name

Is it possible to add this feature ?

Every time I’m importing this extension, I can see “GMLive - Copy.gml” file under scripts, is this some hidden file in extension, or it’s some GM bug/feature that causes to create this file?

Seems that after last release I also can see “GMLive.gml._” which is empty…

(1 edit)

From my experience, as this happens often to me - it seems to happen when there are for-loops with temp variables in code, and you update it several times (but it crashes randomly - sometimes after half minute, sometimes after 10 minutes). As I'm unable to find one easy way to reproduce it, I didn't reported it yet, as I know what to report in fact... this error message doesn't help.

for me, I need live_name in everything that isn't an event, so in every function (even in those which have same name as in resource tree).

Yep, live_name solves it.

Hmm, I've got some issues with live_call() in scripts. Does it work like in 2.2, or something changed?

I'm getting log that script is reloaded on Ctrl+S, but it seems to still run old code... Am I doing something wrong ?

as always - fixed :)

Thanks a lot!

(1 edit)

I've found some issue in console logs, but I don't know when it exactly happens:

Runtime error: [error] Variable <unknown_object>.i_id(101072, -2147483648) not set before reading it.
 called from vm:field_on_field_set (line 13064)
 called from game:anon_gml_thread_gml_GlobalScript_GMLive_396240_gml_thread_gml_GlobalScript_GMLive (line 11248) -                     var l_ar1 = vm_v2_gml_thread_v2_handlers[l_act.__enumIndex__](l__gthis, l_act);
 called from game:anon_gml_program_gml_GlobalScript_GMLive_120080_gml_program_gml_GlobalScript_GMLive (line 2825) -             l_th.i_exec();
 called from game:live_call (line 10204) -                 var l_th = l_pg.i_call_v(l_scriptName, l_vals, false);
 called from game:obj_event_questionplate_Step_0 (line 3) -     if live_call() return live_result;
 called from obj_event_questionplate:Step_0[L40,c22]

On line 40 in obj_event_questionplate there is:

creator.wait_for = _cutscene;

where "creator" and "_cutscene" are variables with ID of existing objects (_cutscene is just created few lines before).

Just checked and now it reloaded my code :)

x = lerp(a, b, min(1, step * 1.5));

after reloading shows:

(obj_xxx) does not have a variable `min`

Date submitted: 2018-12-05 10:43 - yeah, typical YYG :P

But at least they added this new bug to database too, maybe it will be fixed one day ;)

Ha, BB10 for me was the first one I was able to crash silently with only 5 lines of code, interesting :P

Thanks for update, I'm looking for next betas then and hope they gonna make more fixes than new bugs :)

Any progress, or bugs in 2.3 are still preventing from moving forward ?

That's why it's beta.

(1 edit)

what with "red" versions? They may have some additional fixes already.

(1 edit)

For me, even if it won't support some of the new functionality (for example won't be possible to create sequences, structs or anonymous functions in "live" part of code, but will still work on non-live part), that's enough. I hope that at least this will be possible, and I'm keeping my fingers crossed for your success :)

Good that we're away at least 1-2 months before they gonna make 2.3 stable enough, looking to amount of (small) bugs reported in last two weeks.

Yep, looking by amount of things they changed, seems it will take several weeks or months to add needed support, but it's good to see you didn't cross out the possibility as for today. I'm keeping fingers crossed then that you'll find a way (or they fix the bugs needed to make it work, and Russell won't come with his "this is by design" :P).

(1 edit)

As 2.3 moved into half-opened beta, and it's closer to stable release (1-2 months maybe?), I started to wonder will GMLive work with it.

They made a lot of changes, for file structure, and also now functions have some rather random names/references, like:


and thus those may be hard to support at all.

Will it be possible to still use GM Live (even if with some restrictions, like not creating anonymous functions in live part of code), or you yet didn't looked into?

yeah, begin, end and := are there since GM 1.0 probably, and they were added by Mark cause he just adopted it from Delphi (probably for his own usage in fact, so he can write in similar style during tests).

(1 edit)

I've just noticed today, that you can write in GMS2 (and it's valid):

var a = 5, var b = 10;

and GMLive reports that as error ( "Expected a variable name, got keyword" ), and I think it's right in fact, as GM should throw an error here - however both compiler and editors allows it!

So, it's nothing major, but might be good to look into it (but after 2.3 release, as maybe they'll fix it there :) ).