2016-03-19 14 views
0

Ich mache ein Lua-Skript für DeSmuMe, einen Nintendo DS-Emulator. Ich wollte diesen Befehl verwenden, um einen Wert im Speicherzustand zu speichern: savestate.registersave (function() return frame end) Aber der Emulator gibt mir diesen Fehler:: 50: versuche das Feld 'registersave' (ein Nullwert) aufzurufen. Warum? Wie kann ich diesen Fehler beheben?Versuch, das Feld 'registersave' aufzurufen (ein Nullwert)

Antwort

2

Haben Sie diese Funktion in einem funktionierenden Skript gesehen?

Ich habe den Quellcode von DeSmuMe auf Sourceforge überprüft.

In einer Datei lua-engine.cpp genannt (zuletzt geändert 2015.09.15, so dass nach der neuesten Version) ich diese gefunden:

static const struct luaL_reg statelib [] = 
{ 
    {"create", state_create}, 
    {"save", state_save}, 
    {"load", state_load}, 
#ifndef PUBLIC_RELEASE 
    {"verify", state_verify}, // for desync catching 
#endif 
    // TODO 
    //{"loadscriptdata", state_loadscriptdata}, 
    //{"savescriptdata", state_savescriptdata}, 
    //{"registersave", state_registersave}, 
    //{"registerload", state_registerload}, 
    {NULL, NULL} 
}; 

So offensichtlich hat savestate.registersave nicht in die Lua gemacht Schnittstelle noch nicht. Du kannst es also nicht benutzen.

+0

Ich habe es schwer, einen Emulator zu finden, wo genau diese Funktion implementiert wurde. Wie auch immer, es ist möglich, einen Hotkey zu implementieren und sich selbst in Skripts zu speichern, je nachdem, was Sie erreichen möchten. – zeromus

+0

Uh also das ist es, was diesen Fehler verursacht ... danke für deine Antworten! –

Verwandte Themen