2016-03-19 20 views
0

Nintendo Ds Emulator adlı DeSmuMe için lua betiği yapıyorum. Kaydetme durumunda bir değer kaydetmek için bu komutu kullanmak istedim: saveestate.registersave (function() dönüş çerçevesi sonu) Ancak, emülatör bana şu hatayı veriyor:: 50: 'registersave' alanını çağırmayı dene (bir nil değeri). Niye ya? Bu hatayı nasıl çözebilirim?'registersave' (nil değeri) alan adını aramayı deneyin

cevap

2

Bu işlevi herhangi bir çalışan komut dosyasında gördünüz mü?

DeSmuMe'nin kaynak kodunu Sourceforge'da kontrol ettim. lua-engine.cpp adlı bir dosyada

(son 2015-09-15 değişti, o yüzden son sürümü sonra) buldum bu:

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} 
}; 

Yani belli savestate.registersave Lua içine vermiş değil henüz arayüz. Yani kullanamazsın.

+0

Tam işlev uygulandığında herhangi bir emülatör bulmakta zorlanıyorum. Her neyse, başarmaya çalıştığınız şeye bağlı olarak, bir kısayol tuşu uygulamak ve komut dosyasında kendinizi kaydettirmek mümkündür. – zeromus

+0

Uh bu yüzden bu hataya neden olan şey ... cevaplarınız için teşekkürler! –

İlgili konular