This does not work in GameMaker 8.1 or later.
More information is available on gmLua's on Google Code. You can also report problems when using it by clicking the "Issues" tab.
Edited by TheMagicNumber, 04 September 2011 - 10:45 PM.
Posted 01 May 2010 - 03:01 PM
Edited by TheMagicNumber, 04 September 2011 - 10:45 PM.
Posted 09 May 2010 - 03:48 PM
Posted 09 May 2010 - 07:14 PM
No. GM6 is now unsupported. Not to mention most pirates use that one because it has no DRM.When you're working with this, can you also make it compatible with gm6?
Posted 09 May 2010 - 11:41 PM
Posted 10 May 2010 - 01:39 PM
Posted 10 May 2010 - 07:15 PM
Posted 12 May 2010 - 08:43 PM
Posted 13 May 2010 - 10:14 AM
Edited by TheMagicNumber, 13 May 2010 - 10:14 AM.
Posted 14 May 2010 - 01:04 AM
Posted 14 May 2010 - 01:50 AM
Posted 14 May 2010 - 01:03 PM
Posted 14 May 2010 - 07:16 PM
Posted 16 May 2010 - 01:24 AM
Edited by DJ Gman, 16 May 2010 - 02:39 AM.
Posted 16 May 2010 - 02:56 PM
Posted 16 May 2010 - 03:19 PM
Posted 16 May 2010 - 05:05 PM
Posted 22 May 2010 - 02:00 AM
function set_dialog_sprite(sprite, direction, location) SetDialogSprite(sprite, direction, location); end function say(text) -- Format the text -- Then for each line in the text, do the following stuff. lockplayer() LockEnemies() LockNPCs() DisableInventory() SetMessageBox(text); pause_script(); end function exec_script() end function resume_script() coroutine.resume(script); end function pause_script() coroutine.yield(script); end script = coroutine.create(exec_script); coroutine.resume(script);
function exec_script()
set_dialog_sprite('Nicolas_mugshot_1',1,0);
say('derp');
play_sound(whatever.ogg);
endattempt to yield across metamethod/C-call boundary
DoCall("SetDialogSprite",sprite, direction, location);as opposed to SetDialogSprite(sprite, direction, location);
// Register DoCall function lua_pushcfunction(state, LuaState::LuaC_DoCall); lua_setglobal(state, "DoCall");
int LuaState::LuaC_DoCall (lua_State *L) {
LuaState* state = LGLOB->GetStateByState(L);
if (state == NULL) return 0;
return state->stack.CallMMFFunction(MF_FUNCTION_GROUP_DEF, L);
}I seem to recall some issue with corotines at one point but I don't exactly remember what it was.I think it might have to do with coroutines having a different lua_State* pointer associated with them, and I was using the wrong one. I had to change my implementation of CallMMFFunction to accept the Lua State passed to DoCall (as is seen in the code snippet I posted above) -- before it used its own internally cached version.
Edited by DJ Gman, 22 May 2010 - 02:04 AM.
Posted 22 May 2010 - 02:31 AM
Posted 22 May 2010 - 02:49 AM
Edited by DJ Gman, 22 May 2010 - 02:56 AM.
Posted 22 May 2010 - 03:42 PM
Edited by TheMagicNumber, 22 May 2010 - 10:42 PM.
0 members, 0 guests, 0 anonymous users